Linux: Proxy Server installieren (Squid)
Inhaltsverzeichnis:
- Squid unter Debian installieren
- Squid konfigurieren
- Squid-Authentifizierung
- Firewall konfigurieren
- Konfigurieren Ihres Browsers zur Verwendung von Proxy
- Feuerfuchs
- Google Chrome
- Fazit
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.
# 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):
#… 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:
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:
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.
-
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ächeSettings…
.Ein neues Fenster wird geöffnet.
- Aktivieren Sie das Optionsfeld
Manual proxy configuration
Geben Sie die IP-Adresse Ihres Squid-Servers in das FeldHTTP Host
und3128
in das FeldPort
Aktivieren Sie das KontrollkästchenUse this proxy server for all protocols
Klicken Sie auf die SchaltflächeOK
, um die Einstellungen zu speichern.
- Aktivieren Sie das Optionsfeld
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-DebianWie installiere und konfiguriere ich nextcloud mit Apache auf Centos 7?
Nextcloud ist eine Open Source, selbst gehostete Plattform für Dateifreigabe und Zusammenarbeit, ähnlich wie Dropbox. In diesem Tutorial zeigen wir Ihnen, wie Sie Nextcloud mit Apache auf einem CentOS 7-Computer installieren und konfigurieren.
Wie installiere und konfiguriere ich nextcloud mit Apache unter Ubuntu 18.04?
Nextcloud ist eine Open Source, selbst gehostete Plattform für Dateifreigabe und Zusammenarbeit, ähnlich wie Dropbox. In diesem Tutorial zeigen wir Ihnen, wie Sie Nextcloud mit Apache auf einem Ubuntu 18.04-Rechner installieren und konfigurieren.
Wie installiere und konfiguriere ich zabbix unter Debian 9 Linux?
Zabbix ist eine ausgereifte Open Source-Software zur Überwachung von Netzwerken und Anwendungen. In diesem Tutorial wird erklärt, wie die neueste Version von Zabbix 4.0 auf einem Debian 9 Linux-Server installiert und konfiguriert wird, der MySQL als Datenbank-Backend verwendet.