GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und konfigurieren Sie Squid Proxy unter Debian 10 Linux

Squid ist ein voll funktionsfähiger Caching-Proxy, der gängige Netzwerkprotokolle wie HTTP, HTTPS, FTP und mehr unterstützt. Es kann zur Verbesserung der Leistung des Webservers verwendet werden, indem wiederholte Anfragen zwischengespeichert, der Webverkehr gefiltert und auf geobeschränkte Inhalte zugegriffen wird.

In diesem Tutorial erklären wir, wie man einen Squid-Proxy auf Debian Buster einrichtet. Wir zeigen Ihnen auch, wie Sie die Webbrowser Firefox und Google Chrome für die Verwendung konfigurieren.

Installieren von Squid unter Debian #

Das Squid-Paket ist im Standard von Debian 10-Repositories enthalten. Führen Sie die folgenden Befehle als sudo-Benutzer aus, um Squid zu installieren:

sudo apt updatesudo apt install squid

Sobald die Installation abgeschlossen ist, wird der Squid-Dienst automatisch gestartet.

Stellen Sie sicher, dass die Installation erfolgreich war und der Squid-Dienst ausgeführt wird, indem Sie den Status des Squid-Dienstes überprüfen:

sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago
...

Konfiguriere Squid #

Squid kann durch Bearbeiten von /etc/squid/squid.conf konfiguriert werden Konfigurationsdatei. Separate Konfigurationsdateien können mit der Direktive „include“ eingebunden werden.

Die squid.conf Konfigurationsdatei enthält Kommentare, die beschreiben, was jede Konfigurationsoption bewirkt.

Bevor Sie Änderungen vornehmen, ist es immer eine gute Idee, die Originaldatei zu sichern:

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

Um die Konfiguration zu ändern, öffnen Sie die Datei in Ihrem Texteditor:

sudo nano /etc/squid/squid.conf

Standardmäßig lauscht Squid auf Port 3128 auf allen Netzwerkschnittstellen.

Wenn Sie den Port ändern und eine lauschende Schnittstelle einrichten 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 den Zugriffssteuerungslisten (ACLs) können Sie steuern, wie die Clients auf Webressourcen zugreifen können. Standardmäßig erlaubt Squid nur den Zugriff vom localhost.

Wenn alle Clients, die den Proxy verwenden, eine statische IP-Adresse haben, besteht die einfachste Option darin, eine ACL zu erstellen, die die zulässigen IPs enthält.

Anstatt die IP-Adressen in der Hauptkonfigurationsdatei hinzuzufügen, erstellen wir eine neue Include-Datei, die die IP-Adressen speichert:

/etc/squid/allowed_ips.txt
192.168.33.1
# All other allowed IPs

Sobald Sie fertig sind, öffnen Sie 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 mit den unten stehenden Regeln übereinstimmt, werden 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-Authentifizierungsnummer

Squid kann verschiedene Backends verwenden, einschließlich Samba, LDAP und HTTP Basic Authentisierung 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 verwenden den openssl Dienstprogramm zum Generieren der Passwörter und Anhängen des username:password mit /etc/squid/htpasswd paaren Datei mit dem tee Befehl wie unten gezeigt:

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

Erstellen wir einen Benutzer namens „buster“ mit dem Passwort „Sz$Zdg69 ":

printf "buster:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
buster:RrvgO7NxY86VM

Im nächsten Schritt aktivieren Sie die HTTP-Basisauthentifizierung. Öffnen Sie die Hauptkonfiguration und fügen Sie Folgendes hinzu:

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

UFW-Benutzer können Port 3128 öffnen indem Sie das „Squid“-Profil aktivieren:

sudo ufw allow 'Squid'

Wenn Sie nftables verwenden, um Verbindungen zu Ihrem System zu filtern, öffnen Sie die erforderlichen Ports, indem Sie den folgenden Befehl ausführen:

sudo nft add rule inet filter input tcp dport 3128 ct state new,established counter accept
Wenn Squid auf einem anderen, nicht standardmäßigen Port ausgeführt wird, müssen Sie Datenverkehr auf diesem Port zulassen.

Konfigurieren Ihres Browsers zur Verwendung von Proxy #

In diesem Abschnitt erfahren Sie, wie Sie Ihren Browser für die Verwendung des Squid-Proxys 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 auch mehrere Plugins, die Ihnen helfen können, die Proxy-Einstellungen von Firefox zu konfigurieren, wie z. B. FoxyProxy.

Google Chrome #

Google Chrome verwendet die standardmäßigen Proxy-Einstellungen des Systems. 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.


Debian
  1. So installieren und konfigurieren Sie Squid Proxy unter Ubuntu 18.04

  2. So installieren und konfigurieren Sie ZFS unter Linux mit Debian Jessie 8.1

  3. So installieren und konfigurieren Sie Docker unter Debian 11

  4. So installieren und konfigurieren Sie Squid Proxy unter Debian 11

  5. So installieren und konfigurieren Sie Squid Proxy unter Rocky Linux/Alma Linux 8

So installieren und konfigurieren Sie Monit unter Debian 9

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

So installieren und konfigurieren Sie Nagios unter Linux

So installieren und konfigurieren Sie Samba unter Debian 11

So installieren und konfigurieren Sie Git in Debian 11

So installieren und konfigurieren Sie Squid Proxy auf einem Linux-System