GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und konfigurieren Sie Squid Proxy unter Ubuntu 20.04

Squid ist ein Caching-Proxy mit vollem Funktionsumfang, der gängige Netzwerkprotokolle wie HTTP, HTTPS, FTP und mehr unterstützt. Es kann verwendet werden, um die Leistung des Webservers zu verbessern, indem wiederholte Anfragen zwischengespeichert, der Webverkehr gefiltert und auf geobeschränkte Inhalte zugegriffen wird.

Dieses Tutorial erklärt, wie man einen Squid-Proxy unter Ubuntu 20.04 einrichtet und Firefox- und Google Chrome-Webbrowser für seine Verwendung konfiguriert.

Installieren von Squid auf Ubuntu #

Das Squid-Paket ist in den Standard-Repositories von Ubuntu 20.04 enthalten. Führen Sie zur Installation die folgenden Befehle als sudo-Benutzer aus:

sudo apt updatesudo apt install squid

Sobald die Installation abgeschlossen ist, wird der Squid-Dienst automatisch gestartet. Um dies zu überprüfen, überprüfen Sie den Dienststatus:

sudo systemctl status squid

Die Ausgabe sieht in etwa so aus:

● squid.service - Squid Web Proxy Server
     Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-10-23 19:02:43 UTC; 14s ago
       Docs: man:squid(8)
...

Konfiguriere Squid #

Der Squid-Dienst kann durch Bearbeiten von /etc/squid/squid.conf konfiguriert werden Datei. Die Konfigurationsdatei enthält Kommentare, die beschreiben, was jede Konfigurationsoption bewirkt. Sie können Ihre Konfigurationseinstellungen auch in separaten Dateien ablegen, die mit der Direktive „include“ in die Hauptkonfigurationsdatei eingeschlossen werden können.

Bevor Sie Änderungen vornehmen, wird empfohlen, die ursprüngliche Konfigurationsdatei zu sichern:

sudo cp /etc/squid/squid.conf{,.orginal}

Um mit der Konfiguration Ihrer Squid-Instanz zu beginnen, öffnen Sie die Datei in Ihrem Texteditor:

sudo nano /etc/squid/squid.conf

Standardmäßig ist Squid so eingestellt, dass es auf Port 3128 lauscht auf allen Netzwerkschnittstellen auf dem Server.

Wenn Sie den Port ändern und eine lauschende Schnittstelle festlegen möchten, suchen Sie die Zeile, die mit http_port beginnt und geben Sie die IP-Adresse der Schnittstelle und den neuen Port an. Wenn keine Schnittstelle angegeben ist, lauscht Squid auf allen Schnittstellen.

/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.

Mit Squid können Sie mithilfe von Zugriffssteuerungslisten (ACLs) steuern, wie die Clients auf die Webressourcen zugreifen können. Standardmäßig ist der Zugriff nur vom localhost erlaubt.

Wenn alle Clients, die den Proxy verwenden, eine statische IP-Adresse haben, besteht die einfachste Option zum Einschränken des Zugriffs auf den Proxyserver darin, eine ACL zu erstellen, die die zulässigen IPs enthält. Andernfalls können Sie Squid so einstellen, dass es die Authentifizierung verwendet.

Anstatt die IP-Adressen in der Hauptkonfigurationsdatei hinzuzufügen, erstellen Sie eine neue dedizierte Datei, die die zulässigen 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) und erlauben Sie den Zugriff auf diese ACL mit http_access Direktive (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 des http_access Regeln ist wichtig. Stellen Sie sicher, dass Sie die Zeile vor http_access deny all hinzufügen .

Der http_access Die Direktive funktioniert ähnlich wie die Firewall-Regeln. Squid liest die Regeln von oben nach unten, und wenn eine Regel zutrifft, werden die folgenden Regeln nicht verarbeitet.

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

sudo systemctl restart squid

Squid-Authentifizierungsnummer

Wenn das Einschränken des Zugriffs basierend auf IP für Ihren Anwendungsfall nicht funktioniert, können Sie Squid so konfigurieren, dass ein Back-End verwendet wird, um Benutzer zu authentifizieren. Squid unterstützt Samba, LDAP und HTTP Basic Auth.

In diesem Leitfaden verwenden wir die grundlegende Authentifizierung. Es ist eine einfache Authentifizierungsmethode, die in das HTTP-Protokoll integriert ist.

Um ein verschlüsseltes Passwort zu generieren, verwenden Sie den openssl Werkzeug. Der folgende Befehl hängt den USERNAME:PASSWORD an mit /etc/squid/htpasswd paaren Datei:

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

Um beispielsweise einen Benutzer „josh“ mit dem Passwort „P@ssvv0rT zu erstellen “, würden Sie Folgendes ausführen:

printf "josh:$(openssl passwd -crypt 'P@ssvv0rd')\n" | sudo tee -a /etc/squid/htpasswd
josh:QMxVjdyPchJl6

Der nächste Schritt besteht darin, die HTTP-Standardauthentifizierung zu aktivieren und die Datei mit den Benutzeranmeldeinformationen in die Squid-Konfigurationsdatei aufzunehmen.

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

sudo nano /etc/squid/squid.conf
/etc/squid/squid.conf
# ...
auth_param basic program /usr/lib/squid3/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

Die ersten drei hervorgehobenen Zeilen erstellen eine neue ACL mit dem Namen authenticated , und die letzte hervorgehobene Zeile erlaubt den Zugriff für authentifizierte Benutzer.

Starten Sie den Squid-Dienst neu:

sudo systemctl restart squid

Konfiguriere Firewall #

Um die Squid-Ports zu öffnen, aktivieren Sie UFW „Squid“-Profil:

sudo ufw allow 'Squid'

Wenn Squid auf einem anderen, nicht standardmäßigen Port ausgeführt wird, z. B. 8888 Sie können Verkehr auf diesem Port zulassen mit:sudo ufw allow 8888/tcp .

Konfigurieren Ihres Browsers zur Verwendung von Proxy #

Nachdem Sie Squid eingerichtet haben, besteht der letzte Schritt darin, Ihren bevorzugten Browser für die Verwendung zu konfigurieren.

Firefox-Nummer

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

  1. Klicken Sie oben rechts auf das Hamburger-Symbol So öffnen Sie das Menü von Firefox:

  2. Klicken Sie auf ⚙ Preferences verlinken.

  3. Scrollen Sie nach unten zu den Network Settings Abschnitt und klicken Sie auf Settings... Schaltfläche.

  4. Ein neues Fenster wird geöffnet.

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

An diesem Punkt ist Ihr Firefox konfiguriert und Sie können über den Squid-Proxy im Internet surfen. Öffnen Sie zur Bestätigung 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, gehen Sie zu Network Settings , wählen Sie Use system proxy settings Optionsfeld und speichern Sie die Einstellungen.

Es gibt mehrere Plugins, die Ihnen auch dabei helfen können, die Proxy-Einstellungen von Firefox zu konfigurieren, z. B. FoxyProxy.

Google Chrome #

Google Chrome verwendet die standardmäßigen System-Proxy-Einstellungen. Anstatt die Proxy-Einstellungen Ihres Betriebssystems zu ändern, können Sie entweder ein Add-on 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"

macOS :

"/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, falls es noch nicht existiert. Auf diese Weise können Sie mehrere Instanzen von Chrome gleichzeitig ausführen.

Öffnen Sie google.com, um zu bestätigen, dass der Proxyserver ordnungsgemäß funktioniert , und geben Sie "was ist meine ip" ein. Die in Ihrem Browser angezeigte IP sollte die IP-Adresse Ihres Servers sein.


Ubuntu
  1. So installieren und konfigurieren Sie Redis unter Ubuntu 18.04

  2. So installieren und konfigurieren Sie Redmine unter Ubuntu 18.04

  3. So installieren und konfigurieren Sie Squid Proxy unter Ubuntu 20.04

  4. So installieren und konfigurieren Sie Squid 3 unter Ubuntu

  5. So installieren und konfigurieren Sie Tinyproxy unter Ubuntu 14.04

So installieren und konfigurieren Sie Solr 6 unter Ubuntu 16.04

So installieren und konfigurieren Sie GitLab unter Ubuntu 16.04

So installieren Sie den Squid-Proxyserver unter Ubuntu 20.04

So installieren und konfigurieren Sie Cacti unter Ubuntu 20.04

So installieren und konfigurieren Sie Squid Proxy in Ubuntu, Linux Mint

So installieren und konfigurieren Sie Samba unter Ubuntu