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 umfangreiche 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 Beiträge:
- So installieren und konfigurieren Sie Squid Proxy unter Ubuntu 20.04
- So installieren und konfigurieren Sie Squid Proxy unter Debian 11
- So installieren und konfigurieren Sie Squid Proxy auf OpenSUSE Leap 11
Voraussetzungen
- Ein aktualisierter Rocky Linux 8-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 dnf update -y
2. Installieren des Squid-Proxy-Servers
Die Pakete, die den Squid-Proxy-Server bereitstellen, sind in den standardmäßigen Rocky Linux-Repositories verfügbar. Installieren Sie es mit diesem Befehl:
sudo dnf install -y squid
Bestätigen Sie, dass das Paket wie erwartet installiert wurde
$ rpm -qi squid
Name : squid
Epoch : 7
Version : 4.15
Release : 1.module+el8.5.0+705+218dec94
Architecture: x86_64
Install Date: Mon 17 Jan 2022 07:07:04 PM UTC
Group : Unspecified
Size : 12402901
License : GPLv2+ and (LGPLv2+ and MIT and BSD and Public Domain)
Signature : RSA/SHA256, Tue 09 Nov 2021 11:01:49 PM UTC, Key ID 15af5dac6d745a60
Source RPM : squid-4.15-1.module+el8.5.0+705+218dec94.src.rpm
Build Date : Tue 09 Nov 2021 10:50:18 PM UTC
Build Host : ord1-prod-x86build004.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : [email protected]
Vendor : Rocky
URL : http://www.squid-cache.org
Summary : The Squid proxy caching server
Description :
Squid is a high-performance proxy caching server for Web clients,
supporting FTP, gopher, and HTTP data objects. Unlike traditional
caching software, Squid handles all requests in a single,
non-blocking, I/O-driven process. Squid keeps meta data and especially
hot objects cached in RAM, caches DNS lookups, supports non-blocking
DNS lookups, and implements negative caching of failed requests.
Squid consists of a main server program squid, a Domain Name System
lookup program (dnsserver), a program for retrieving FTP data
(ftpget), and some management and client tools.
3. Squid-Dienst starten und aktivieren
Der Squid-Proxy-Server wird in unserem Rocky Linux 8-System standardmäßig nicht gestartet. Starten Sie es mit diesem Befehl:
sudo systemctl start squid
Um den Status zu überprüfen, geben Sie diesen Befehl ein:
$ sudo systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-01-17 19:08:32 UTC; 6s ago
Docs: man:squid(8)
Process: 429390 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 429396 (squid)
Tasks: 3 (limit: 23176)
Memory: 13.9M
CGroup: /system.slice/squid.service
├─429396 /usr/sbin/squid --foreground -f /etc/squid/squid.conf
├─429398 (squid-1) --kid squid-1 --foreground -f /etc/squid/squid.conf
└─429399 (logfile-daemon) /var/log/squid/access.log
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Starting Squid caching proxy...
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: will start 1 kids
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: (squid-1) process 429398 started
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Started Squid caching proxy.
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. Verwendung des Squid-Proxys ACL (Access Control List)
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:
#cache_dir ufs /var/spool/squid 100 16 256
Diese Zeile wird standardmäßig kommentiert, kommentieren Sie diese Zeile also aus, indem Sie #
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.
cache_dir ufs /var/spool/squid 100 16 256
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
In diesem Handbuch haben wir es geschafft, den Squid-Proxyserver 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.