Android

Wie installiere und konfiguriere ich den Squid-Proxy unter Debian 10 Linux?

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. Es kann verwendet werden, um die Leistung des Webservers zu verbessern, indem wiederholte Anforderungen zwischengespeichert, der Webdatenverkehr gefiltert und auf geografisch eingeschränkte Inhalte zugegriffen wird.

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

Squid unter Debian installieren

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 update sudo apt install squid

Nach Abschluss der Installation 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-Diensts ü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…

Squid konfigurieren

Squid kann durch Bearbeiten der Konfigurationsdatei /etc/squid/squid.conf konfiguriert werden. Mit der include-Direktive können separate Konfigurationsdateien eingebunden werden.

Die Konfigurationsdatei squid.conf enthält Kommentare, in denen die einzelnen Konfigurationsoptionen beschrieben werden.

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

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

Öffnen Sie die Datei in Ihrem Texteditor, um die Konfiguration zu ändern:

sudo nano /etc/squid/squid.conf

Standardmäßig überwacht Squid Port 3128 auf allen Netzwerkschnittstellen.

/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 (Access Control Lists, ACLs) können Sie steuern, wie Clients auf Webressourcen zugreifen können. Standardmäßig erlaubt Squid den Zugriff nur vom localhost aus.

Wenn alle Clients, die den Proxy verwenden, über eine statische IP-Adresse verfügen, können Sie am einfachsten eine ACL erstellen, die die zulässigen IP-Adressen enthält.

Anstatt die IP-Adressen in die Hauptkonfigurationsdatei einzufügen, erstellen wir eine neue Include-Datei, in der die IP-Adressen gespeichert werden:

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

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

Der nächste Schritt besteht darin, die HTTP-Basisauthentifizierung zu aktivieren. Ö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 ermöglicht den Zugriff auf authentifizierte Benutzer.

Starten Sie den Squid-Dienst neu:

sudo systemctl restart squid

Firewall konfigurieren

UFW-Benutzer können Port 3128 durch Aktivieren des Squid-Profils öffnen:

sudo ufw allow 'Squid'

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 den 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 von Squid Proxy 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

Wir haben die Grundlagen der Installation von Squid unter Debian 10 behandelt und Ihren Browser so konfiguriert, dass er es verwendet.

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-Debian