Ubuntu Server 18.04 - Install Squid Proxy Server
Inhaltsverzeichnis:
- Squid unter Ubuntu 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. Squid wird hauptsächlich verwendet, 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 erfahren Sie, wie Sie unter Ubuntu 18.04 einen Squid-Proxy einrichten und die Webbrowser Firefox und Google Chrome für die Verwendung konfigurieren.
Squid unter Ubuntu installieren
Das Squid-Paket ist in den Ubuntu 18.04-Standardrepositorys enthalten. Geben Sie zur Installation die folgenden Befehle als sudo-Benutzer ein:
sudo apt update
sudo apt install squid
Nach Abschluss der Installation wird der Squid-Dienst automatisch gestartet.
Geben Sie den folgenden Befehl ein, um zu überprüfen, ob die Installation erfolgreich war und der Squid-Dienst ausgeführt wird:
sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…
Squid konfigurieren
Squid kann durch Bearbeiten der Datei
/etc/squid/squid.conf
konfiguriert werden. Sie können auch separate Dateien mit Konfigurationsoptionen verwenden, die mit der include-Direktive eingeschlossen werden können.
Die Konfigurationsdatei enthält Kommentare, die beschreiben, was jede Konfigurationsoption tut.
Bevor Sie Änderungen vornehmen, sollten Sie die ursprüngliche Konfigurationsdatei sichern:
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
.
# 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.
In Squid können Sie mithilfe der Zugriffssteuerungslisten (Access Control Lists, ACLs) steuern, wie die Clients auf die Webressourcen zugreifen können.
Standardmäßig erlaubt Squid den Zugriff nur vom localhost aus.
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):
#… 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 Tutorial 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 aus
username:password
an die Datei
/etc/squid/htpasswd
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
Erstellen wir einen Benutzer namens "josh" mit dem Passwort "
Sz$Zdg69
":
printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
josh:RrvgO7NxY86VM
htpasswd
der Benutzer erstellt wurde, müssen Sie im nächsten Schritt die
htpasswd
und die Datei
htpasswd
.
Öffnen Sie die Hauptkonfiguration und fügen Sie Folgendes hinzu:
#… 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
Angenommen, Sie verwenden
UFW
zur Verwaltung Ihrer Firewall, müssen Sie den teg Squid-Port öffnen. Aktivieren Sie dazu das 'Squid'-Profil, das Regeln für die Standard-Squid-Ports enthält.
sudo ufw allow 'Squid'
So überprüfen Sie den Statustyp:
sudo ufw status
Die Ausgabe sieht ungefähr so aus:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6)
Wenn Squid auf einem anderen, nicht standardmäßigen Port ausgeführt wird, z. B.
8888
, können Sie den Datenverkehr auf diesem Port mit folgendem
sudo ufw allow 8888/tcp
:
sudo ufw allow 8888/tcp
.
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.
-
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 verschiedene Plugins, mit denen Sie auch die Proxy-Einstellungen von Firefox konfigurieren können, z. B. FoxyProxy.
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 Ubuntu 18.04 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 UbuntuSo installieren und konfigurieren Sie einen NFS-Server unter Ubuntu 18.04
Network File System (NFS) ist ein verteiltes Dateisystemprotokoll, mit dem Sie Remoteverzeichnisse über ein Netzwerk freigeben können. In diesem Tutorial erfahren Sie, wie Sie einen NFSv4-Server unter Ubuntu 18.04 einrichten.
So installieren und konfigurieren Sie redis unter Ubuntu 18.04
Redis ist ein Open-Source-Speicher für In-Memory-Datenstrukturen. Es kann als Datenbank-, Cache- und Nachrichtenbroker verwendet werden und unterstützt verschiedene Datenstrukturen wie Strings, Hashes, Listen, Sets usw. Dieses Tutorial beschreibt die Installation und Konfiguration von Redis auf einem Ubuntu 18.04-Server.
So installieren und konfigurieren Sie owncloud mit Apache unter Ubuntu 18.04
ownCloud ist eine selbst gehostete Open-Source-Plattform für die Dateisynchronisierung und -freigabe. In diesem Tutorial zeigen wir Ihnen, wie Sie ownCloud mit Apache auf einem Ubuntu 18.04-Rechner installieren und konfigurieren.