Android

Installieren und Konfigurieren von Squid Proxy auf Centos 7

Linux: Proxy Server installieren (Squid)

Linux: Proxy Server installieren (Squid)

Inhaltsverzeichnis:

Anonim

Squid ist ein voll ausgestatteter Caching-Proxy, der gängige Netzwerkprotokolle wie HTTP, HTTPS, FTP und mehr unterstützt. Das Platzieren von Squid vor einem Webserver kann die Serverleistung erheblich verbessern, indem wiederholte Anforderungen zwischengespeichert, der Webdatenverkehr gefiltert und auf geografisch eingeschränkte Inhalte zugegriffen wird.

In diesem Tutorial wird erklärt, wie Sie Squid unter CentOS 7 einrichten und die Webbrowser Firefox und Google Chrome für die Verwendung des Proxys konfigurieren.

Squid unter CentOS installieren

Das Squid-Paket ist in den Standard-CentOS 7-Repositorys enthalten. Führen Sie zum Installieren den folgenden Befehl als sudo-Benutzer aus:

sudo yum install squid

Starten und aktivieren Sie nach Abschluss der Installation den Squid-Dienst:

sudo systemctl start squid sudo systemctl enable squid

Geben Sie den folgenden Befehl ein, um zu überprüfen, ob die Installation erfolgreich war:

sudo systemctl status squid

● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago…

Squid konfigurieren

Squid kann durch Bearbeiten der Datei /etc/squid/squid.conf konfiguriert werden. Zusätzliche Dateien mit Konfigurationsoptionen können mit der Include-Direktive eingefügt werden.

Bevor Sie Änderungen vornehmen, sichern Sie die ursprüngliche Konfigurationsdatei mit dem Befehl cp :

sudo cp /etc/squid/squid.conf{,.orginal} Um die Datei zu bearbeiten, öffnen Sie sie in Ihrem Texteditor:

sudo nano /etc/squid/squid.conf

Standardmäßig ist Squid so konfiguriert, dass auf allen Netzwerkschnittstellen des Servers Port 3128 .

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Das Ausführen von Squid auf allen Schnittstellen und auf dem Standardport sollte für die meisten Benutzer in Ordnung sein.

Sie können den Zugriff auf den Squid-Server mithilfe der Zugriffssteuerungslisten (Access Control Lists, ACLs) steuern.

Standardmäßig erlaubt Squid den Zugriff nur von localhost und localnet.

Wenn alle Clients, die den Proxy verwenden, eine statische IP-Adresse haben, können Sie eine ACL erstellen, die die zulässigen IPs enthält.

Anstatt die IP-Adressen in die Hauptkonfigurationsdatei einzufügen, erstellen wir eine neue dedizierte Datei, die die IPs enthält:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Öffnen Sie anschließend die Hauptkonfigurationsdatei und erstellen Sie eine neue ACL mit dem Namen allowed_ips (erste hervorgehobene Zeile). allowed_ips den Zugriff auf diese ACL mithilfe der Anweisung http_access (zweite hervorgehobene Zeile):

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

Die Reihenfolge der http_access Regeln ist wichtig. Stellen Sie sicher, dass Sie die Zeile hinzufügen, bevor http_access deny all .

Die http_access Direktive funktioniert ähnlich wie die Firewall-Regeln. Squid liest die Regeln von oben nach unten, und wenn eine Regel mit den folgenden Regeln übereinstimmt, wird sie nicht verarbeitet.

Wann immer Sie Änderungen an der Konfigurationsdatei vornehmen, müssen Sie den Squid-Dienst neu starten, damit die Änderungen wirksam werden:

sudo systemctl restart squid

Squid-Authentifizierung

Squid kann verschiedene Backends verwenden, einschließlich Samba, LDAP und HTTP-Basisauthentifizierung für authentifizierte Benutzer.

In diesem Beispiel konfigurieren wir Squid für die Verwendung der Basisauthentifizierung. Es ist eine einfache Authentifizierungsmethode, die in das HTTP-Protokoll integriert ist.

Wir werden das openssl , um die Passwörter zu generieren und das Paar username:password mit dem Befehl tee Datei /etc/squid/htpasswd wie unten gezeigt:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Um beispielsweise einen Benutzer mit dem Namen "mike" mit dem Kennwort " Pz$lPk76 " zu erstellen, Pz$lPk76 Sie Pz$lPk76 aus:

printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd

mike:2nkgQsTSPCsIo

Der nächste Schritt besteht darin, Squid so zu konfigurieren, dass die HTTP-Basisauthentifizierung aktiviert und die Datei verwendet wird.

Öffnen Sie die Hauptkonfiguration und fügen Sie Folgendes hinzu:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

Mit den ersten drei hervorgehobenen Zeilen erstellen wir eine neue ACL mit dem Namen authenticated . Die letzte hervorgehobene Zeile ermöglicht den Zugriff auf authentifizierte Benutzer.

Starten Sie den Squid-Dienst neu:

sudo systemctl restart squid

Firewall konfigurieren

sudo firewall-cmd --permanent --add-port=3128/tcp firewall-cmd --reload Wenn Squid auf einem anderen, nicht standardmäßigen Port ausgeführt wird, müssen Sie den Datenverkehr auf diesem Port mit zulassen.

Konfigurieren Ihres Browsers zur Verwendung von Proxy

Nachdem Sie Squid eingerichtet haben, müssen Sie im letzten Schritt Ihren bevorzugten Browser für die Verwendung konfigurieren.

Feuerfuchs

Die folgenden Schritte sind für Windows, macOS und Linux identisch.

  1. Klicken Sie oben rechts auf das Hamburger-Symbol , um das Firefox-Menü zu öffnen:

    Klicken Sie auf den Link ⚙ Preferences .

    Scrollen Sie zum Abschnitt Network Settings und klicken Sie auf die Schaltfläche Settings… .

    Ein neues Fenster wird geöffnet.

    • Aktivieren Sie das Optionsfeld Manual proxy configuration Geben Sie die IP-Adresse Ihres Squid-Servers in das Feld HTTP Host und 3128 in das Feld Port Aktivieren Sie das Kontrollkästchen Use this proxy server for all protocols Klicken Sie auf die Schaltfläche OK , um die Einstellungen zu speichern.

Zu diesem Zeitpunkt ist Ihr Firefox konfiguriert und Sie können über den Squid-Proxy im Internet surfen. Um dies zu überprüfen, öffnen Sie google.com , geben Sie "what is my ip" ein und Sie sollten die IP-Adresse Ihres Squid-Servers sehen.

Um zu den Standardeinstellungen zurückzukehren, wechseln Sie zu Network Settings , aktivieren Sie das Use system proxy settings verwenden, und speichern Sie die Einstellungen.

Es gibt auch verschiedene Plugins, mit denen Sie die Proxy-Einstellungen von Firefox wie FoxyProxy konfigurieren können.

Google Chrome

Google Chrome verwendet die Standardeinstellungen für Systemproxys. Anstatt die Proxy-Einstellungen Ihres Betriebssystems zu ändern, können Sie entweder ein Addon wie SwitchyOmega verwenden oder den Chrome-Webbrowser über die Befehlszeile starten.

Verwenden Sie den folgenden Befehl, um Chrome mit einem neuen Profil zu starten und eine Verbindung zum Squid-Server herzustellen:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Mac OS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Windows:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

Das Profil wird automatisch erstellt, wenn es nicht vorhanden ist. Auf diese Weise können Sie mehrere Instanzen von Chrome gleichzeitig ausführen.

Um zu überprüfen, ob der Proxyserver ordnungsgemäß funktioniert, öffnen Sie google.com und geben Sie "what is my ip" ein. Die in Ihrem Browser angezeigte IP-Adresse sollte die IP-Adresse Ihres Servers sein.

Fazit

Sie haben gelernt, wie Sie squid unter CentOS 7 installieren und Ihren Browser für die Verwendung konfigurieren.

Squid ist einer der beliebtesten Proxy-Caching-Server. Es verbessert die Geschwindigkeit des Webservers und kann Ihnen dabei helfen, den Benutzerzugriff auf das Internet einzuschränken.

Proxy-Centos