Squid ist ein Caching-Proxy für das Web, der HTTP, HTTPS, FTP und mehr unterstützt. Es reduziert die Bandbreite und verbessert die Antwortzeiten, indem häufig angeforderte Webseiten zwischengespeichert und wiederverwendet werden. Squid verfügt über umfassende Zugriffskontrollen und ist ein großartiger Serverbeschleuniger. Es läuft auf den meisten verfügbaren Betriebssystemen.
Squids Reverse Proxy ist ein Dienst, der zwischen dem Internet und dem Webserver (normalerweise innerhalb eines privaten Netzwerks) sitzt und eingehende Client-Anfragen an einen Server umleitet, auf dem Daten zum leichteren Abruf gespeichert werden. Wenn der Caching-Server (Proxy) die zwischengespeicherten Daten nicht hat, leitet er die Anfrage an den Webserver weiter, auf dem die Daten tatsächlich gespeichert sind. Diese Art des Cachings ermöglicht das Sammeln von Daten und das Reproduzieren der ursprünglichen Datenwerte, die an einem anderen Ort gespeichert sind, um einen einfacheren Zugriff zu ermöglichen.
Ein Reverse-Proxy bietet normalerweise eine zusätzliche Kontrollebene, um den Fluss des eingehenden Netzwerkverkehrs zwischen Ihren Clients und dem Webserver zu glätten.
Bei der Auswahl eines Computersystems zur Verwendung als dedizierter Squid-Caching-Proxyserver stellen viele Benutzer sicher, dass es mit einer großen Menge an physischem Arbeitsspeicher (RAM) konfiguriert ist, da Squid einen In-Memory-Cache zur Leistungssteigerung unterhält.
Verwandte Inhalte:
- So installieren und konfigurieren Sie Squid Proxy unter Debian 11
Voraussetzungen
- Ein aktualisierter Ubuntu 20.04-Server mit mindestens 1 GB RAM
- Root-Zugriff auf den Server oder Benutzer mit sudo-Zugriff
- Zugang zum Internet vom Server
Inhaltsverzeichnis
- Sicherstellen, dass der Server auf dem neuesten Stand ist
- Installieren des Squid-Proxy-Servers
- Squid-Dienst starten und aktivieren
- Konfigurieren Ihres Webbrowsers
- Squid konfigurieren
- Squid-Proxy-Zugriffskontrollliste (ACL) verwenden
- Verwenden von Squid zum Zwischenspeichern von Webseiten
1. Sicherstellen, dass der Server auf dem neuesten Stand ist
Bevor wir fortfahren, stellen wir sicher, dass unser Server über aktualisierte Pakete verfügt. Verwenden Sie diesen Befehl, um das zu erreichen:
sudo apt update
sudo apt upgrade -y
2. Installieren des Squid-Proxy-Servers
Die Pakete, die den Squid-Proxy-Server bereitstellen, sind in den standardmäßigen Ubuntu-Repositories verfügbar. Installieren Sie es mit diesem Befehl:
sudo apt install -y squid
Bestätigen Sie, dass das Paket wie erwartet installiert wurde
$ apt-cache policy squid
squid:
Installed: 4.10-1ubuntu1.5
Candidate: 4.10-1ubuntu1.5
Version table:
*** 4.10-1ubuntu1.5 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
100 /var/lib/dpkg/status
4.10-1ubuntu1 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
3. Squid-Dienst starten und aktivieren
Der Squid-Proxy-Server wird standardmäßig in unserem Ubuntu-System gestartet. Um den Status zu überprüfen, geben Sie diesen Befehl ein:
$ sudo systemctl status squid
● squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-01-03 06:44:10 UTC; 15s ago
Docs: man:squid(8)
Process: 48771 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
Process: 48774 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
Main PID: 48776 (squid)
Tasks: 4 (limit: 4631)
Memory: 15.5M
CGroup: /system.slice/squid.service
├─48776 /usr/sbin/squid -sYC
├─48778 (squid-1) --kid squid-1 -sYC
├─48779 (logfile-daemon) /var/log/squid/access.log
└─48780 (pinger)
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Max Swap size: 0 KB
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Using Least Load store dir selection
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Set Current Directory to /var/spool/squid
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Finished loading MIME types and icons.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: HTCP Disabled.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Pinger socket opened on FD 14
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Squid plugin modules loaded: 0
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Adaptation support is off.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 12 flags=9
Jan 03 06:44:11 ubuntusrv.citizix.com squid[48778]: storeLateRelease: released 0 objects
Wir können bestätigen, dass der Dienst mit dem obigen Befehl ausgeführt wird. Um sicherzustellen, dass der Dienst beim Booten startet, verwenden Sie den enable-Befehl:
sudo systemctl enable squid
4. Konfiguration für Ihren Webbrowser
Bevor Sie Änderungen an der Squid-Konfigurationsdatei vornehmen, müssen Sie einige Einstellungen in Ihrem Webbrowser ändern. Öffnen Sie also Ihren Webbrowser und öffnen Sie „Netzwerkeinstellungen“ und fahren Sie dann mit „Proxy-Einstellungen“ fort. Klicken Sie auf die Konfiguration „manueller Proxy“ und geben Sie dann die IP-Adresse ein Ihres Squid-Proxy-Servers in der HTTP-Proxy-Leiste und Portnummer (Standardmäßig ist der Squid-Proxy-Port 3128). Jetzt wird der Squid-Proxy Ihre IP-Adresse durchlaufen. Sie können dies überprüfen, indem Sie eine beliebige URL in Ihren Webbrowser eingeben. es wird Ihnen eine Fehlermeldung geben, die besagt, dass der Zugriff verweigert wurde, und um den Zugriff zuzulassen, müssen wir Änderungen in der Squid-Konfigurationsdatei vornehmen.
5. Squid konfigurieren
Die standardmäßige Squid-Konfigurationsdatei befindet sich im Verzeichnis /etc/squid/
Verzeichnis, und die Hauptkonfigurationsdatei heißt squid.conf
. Diese Datei enthält den Großteil der Konfigurationsanweisungen, die geändert werden können, um das Verhalten von Squid zu ändern. Die Zeilen, die mit einem #
beginnen , werden auskommentiert oder von der Datei nicht gelesen. Diese Kommentare werden bereitgestellt, um zu erklären, was die zugehörigen Konfigurationseinstellungen bedeuten.
Um die Konfigurationsdatei zu bearbeiten, erstellen wir zunächst eine Sicherungskopie der Originaldatei, falls wir Änderungen rückgängig machen müssen, wenn etwas schief geht, oder verwenden Sie sie, um die neuen Dateikonfigurationen zu vergleichen.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
Nachdem eine Kopie als Sicherungsdatei erstellt wurde, können wir Änderungen in der Datei „squid.conf“ vornehmen.
Um die Datei „squid.conf“ in vim zu öffnen, geben Sie diesen Befehl ein:
sudo vim /etc/squid/squid.conf
Gehen Sie zur Zeile
http_access deny all
Ändern Sie es in:
http_access allow all
Sie müssen den Squid-Proxy-Server neu starten, damit die Änderungen wirksam werden. Verwenden Sie diesen Befehl:
sudo systemctl restart squid
Überprüfen Sie jetzt Ihren Webbrowser erneut, geben Sie eine beliebige URL ein und es sollte funktionieren.
6. Squid-Proxy-ACL (Access Control List) verwenden
Wir können Squid auch verwenden, um den Zugriff auf verschiedene Websites (Webverkehr) zu kontrollieren, indem wir sie entweder zulassen oder blockieren. Gehen Sie dazu in die Zeile acl CONNECT method CONNECT
.
Schreiben Sie unterhalb dieser Zeile die ACL (Zugriffskontrollliste), um die gewünschten Websites zu blockieren.
acl block_websites dstdomain .facebook.com .youtube.com .instagram.com
Leugnen Sie dann die Aussage.
http_access deny block_websites
Speichern Sie die Änderungen, und um zu überprüfen, ob Ihre blockierten Websites blockiert sind oder nicht, starten Sie Ihren Squid-Dienst neu und überprüfen Sie die URL in Ihrem Webbrowser.
Sie können einen Nutzer auch daran hindern, bestimmte Dateien wie Audio- und Videodateien mit ACL herunterzuladen .
acl media_files urlpath_regex -i \.(mp3|mp4|FLV|AVI|MKV)
Es verhindert, dass der Benutzer Audio- oder Videodateien mit Erweiterungen wie mp3, mp4, FLV usw. herunterlädt. Fügen Sie eine beliebige Dateierweiterung hinzu, die Sie am Herunterladen hindern möchten. Schreiben Sie nun unterhalb dieser Zeile die Deny-Anweisung.
http_access deny media_files
Das Herunterladen der Mediendateien wird dann blockiert.
7. Verwenden von Squid zum Cachen von Webseiten
Proxy-Server werden auch verwendet, um die Netzwerkleistung zu steigern, indem die Webseite schneller geladen wird, indem die Daten der Website zwischengespeichert werden. Sie können auch den Verzeichnisort ändern, an dem zwischengespeicherte Daten gespeichert werden sollen. Darüber hinaus können Sie auch die Cache-Dateigröße ändern und nein. Verzeichnisse, in denen Daten gespeichert werden.
Um Änderungen vorzunehmen, öffnen Sie squid.conf
Datei und gehen Sie zu folgender Zeile:
#chache_dir ufs /opt/squid/var/cache/squid 100 16 256
Diese Zeile wird standardmäßig auskommentiert, kommentieren Sie diese Zeile also aus, indem Sie das #
entfernen unterschreiben.
In der obigen Zeile gibt es einen Ausdruck „100 16 256 “. Die 100 zeigt die Größe der Cache-Datei an und Sie können sie auf eine beliebige Größe wie 300. 16 ändern zeigt die Anzahl der Verzeichnisse, in denen die Cache-Datei gespeichert ist. 256 zeigt die Nr. von Unterverzeichnissen.
chache_dir ufs /opt/squid/var/cache/squid 300 20 260
Sie können die Größe der Cache-Datei auch ändern, indem Sie die folgende Zeile in die Datei „squid.conf“ einfügen:
cache_mem 300 MB
Wenn Sie den Pfad des Cache-Dateiverzeichnisses ändern möchten, erstellen Sie mit diesem Befehl eine neue Verzeichnisstruktur:
sudo mkdir -p /path/where/you/want/to/place/file
Um den Besitz des Cache-Verzeichnisses auf Squid-Proxy zu ändern, müssen Sie diesen Befehl ausführen:
sudo chown -R proxy:proxy /path/where/you/want/to/place/file
Stoppen Sie nun den Squid-Dienst mit diesem Befehl:
sudo systemctl stop squid
Führen Sie dann den Befehl mit diesem Befehl aus, um die fehlenden Cache-Verzeichnisse im neuen Cache-Verzeichnis zu erstellen:
sudo squid -z
Starten Sie nun den Squid-Dienst erneut mit dem folgenden Befehl:
sudo systemctl start squid
Abschluss
Wir haben es geschafft, den Squid-Proxy-Server in diesem Handbuch zu installieren und zu konfigurieren. Squid-Proxy ist ein sehr gutes Tool, das in Organisationen oder von kleinen Internetdienstanbietern verwendet werden kann, um den Webverkehr und den Internetzugang zu kontrollieren. Es beschleunigt das Surfen im Internet und bietet Sicherheitsmechanismen für den Internetverkehr.