208.3 Squid als Caching-Proxy einrichten Gewichtung 2

208.3 Squid als Caching-Proxy einrichten

Kandidaten sollten einen Proxy-Server installieren und konfigurieren können, einschließlich Zugriffsregeln, Authentisierung und Ressourcenverbrauch.

Hauptwissensgebiete:

Dies ist eine auszugsweise Liste der verwendeten Dateien, Begriffe und Hilfsprogramme:

man pages und andere Dateien

Allgemein

Squid ist ein leistungsstarker Proxy-Caching-Server für Web-Clients. Squid unterstützt mehr als nur HTTP-Datenobjekte: Es unterstützt FTP- und Gopher-Objekte auch. Squid verarbeitet alle Anforderungen in einem einzigen, nicht blockierenden, E / A-gesteuerten Prozess. Squid hält Metadaten und wichtig Objekte im RAM zwischengespeichert. Squid cached DNS-Lookups, unterstützt nicht blockierende DNS-Lookups und unterstützt negatives caching fehlgeschlagener Requests. Squid unterstützt auch SSL, umfassende Zugriffskontrollen und vollständige Anforderungsprotokollierung. Mit dem Lightweight Internet Cache Protocol können Squid-Caches in einer Hierarchie oder einem Mesh angeordnet werden, um zusätzliche Bandbreiteneinsparungen zu erzielen.

Squid kann für eine Reihe von Dingen verwendet werden, einschließlich Bandbreiteneinsparung, Umgang mit Verkehrsspitzen und Zwischenspeichern von Sites, die gelegentlichem nicht verfügbar sind. Squid kann auch zum Loadbalacning verwendet werden. Grundsätzlich erhält der erste squid eine Anfrage von einem Browser, fungiert als Vermittler und leitet die Anfrage an den Server weiter. Squid speichert dann eine Kopie des Objekts. Falls Squid keine weitere Anfrage zu diesem Objekt bekommt, wird damit kein Vorteil erzielt. Wenn jedoch mehrere Clients das Objekt anfordern, bevor es aus dem Cache abläuft, wird squid die Transaktionen beschleunigen und Bandbreite sparen.

Squid besteht aus einem Hauptserverprogramm squid, einem Domain Name System-Suchprogramm dnsserver und einigen optionalen Programmen zum Umschreiben von Anforderungen und Durchführen der Authentifizierung sowie einiger Verwaltungs- und Client-Tools. Wenn der Squid startet, erscheint eine konfigurierbare Anzahl von dnsserver-Prozessen, von denen jeder einzelne eine blockierende DNS-Suche (Domain Name System) durchführen kann. Dies reduziert die Wartezeit des Cache auf DNS-Lookups.

Der absolute Pfad zur Konfigurationsdatei von squid lautet /etc/squid/squid.conf (zumindest auf einem ubuntu 1804).

Optionen und Parameter

wichtige Kommandos

squid -k check
systemctl reload squid
# oder
squid -k reconfigure
# oder
kill -HUP $(cat /var/run/squid.pid)
squid -z
root@ubuntu:/etc/squid# squid -k parse
2020/01/12 14:49:35| Startup: Initializing Authentication Schemes ...
2020/01/12 14:49:35| Startup: Initialized Authentication Scheme 'basic'
2020/01/12 14:49:35| Startup: Initialized Authentication Scheme 'digest'
2020/01/12 14:49:35| Startup: Initialized Authentication Scheme 'negotiate'
2020/01/12 14:49:35| Startup: Initialized Authentication Scheme 'ntlm'
2020/01/12 14:49:35| Startup: Initialized Authentication.
2020/01/12 14:49:35| Processing Configuration File: /etc/squid/squid.conf (depth 0)
2020/01/12 14:49:35| Processing: acl SSL_ports port 443
2020/01/12 14:49:35| Processing: acl Safe_ports port 80         # http
2020/01/12 14:49:35| Processing: acl Safe_ports port 21         # ftp
2020/01/12 14:49:35| Processing: acl Safe_ports port 443                # https
2020/01/12 14:49:35| Processing: acl Safe_ports port 70         # gopher
2020/01/12 14:49:35| Processing: acl Safe_ports port 210                # wais
2020/01/12 14:49:35| Processing: acl Safe_ports port 1025-65535 # unregistered ports
2020/01/12 14:49:35| Processing: acl Safe_ports port 280                # http-mgmt
2020/01/12 14:49:35| Processing: acl Safe_ports port 488                # gss-http
2020/01/12 14:49:35| Processing: acl Safe_ports port 591                # filemaker
2020/01/12 14:49:35| Processing: acl Safe_ports port 777                # multiling http
2020/01/12 14:49:35| Processing: acl CONNECT method CONNECT
2020/01/12 14:49:35| Processing: http_access deny !Safe_ports
2020/01/12 14:49:35| Processing: http_access deny CONNECT !SSL_ports
2020/01/12 14:49:35| Processing: http_access allow localhost manager
2020/01/12 14:49:35| Processing: http_access deny manager
2020/01/12 14:49:35| Processing: http_access allow localhost
2020/01/12 14:49:35| Processing: acl home src 10.0.0.0/8
2020/01/12 14:49:35| Processing: http_access allow home
2020/01/12 14:49:35| Processing: http_access deny all
2020/01/12 14:49:35| Processing: http_port 8081
2020/01/12 14:49:35| Processing: coredump_dir /var/spool/squid
2020/01/12 14:49:35| Processing: refresh_pattern ^ftp:          1440    20%     10080
2020/01/12 14:49:35| Processing: refresh_pattern ^gopher:       1440    0%      1440
2020/01/12 14:49:35| Processing: refresh_pattern -i (/cgi-bin/|\?) 0    0%      0
2020/01/12 14:49:35| Processing: refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
2020/01/12 14:49:35| Processing: refresh_pattern .              0       20%     4320

Redirector

squid kann so konfiguriert werden, dass jede eingehende URL einen Redirector-Prozess durchläuft, der entweder eine neue URL oder eine leere Zeile zurückgibt. Ein Redirector ist ein externes Programm, z. ein Skript, das Sie selbst geschrieben haben. Somit handelt es sich um ein Redirector-Programm NICHT ein Standardteil des Squid-pakets. Einige Beispiele finden Sie jedoch im contrib / -Verzeichnis der Quelle Verteilung. Da jeder unterschiedliche Anforderungen hat, ist es Sache der einzelnen Administratoren, eine eigene Implementierung zu erstellen.

Ein Redirector ermöglicht es dem Administrator, die Websites zu steuern, auf die seine Benutzer zugreifen können. Es kann in Verbindung mit transparenten Proxys verwendet werden, die den Benutzern Ihres Netzwerks den Zugriff auf bestimmte Sites verweigern, z. Pornoseiten und dergleichen.

Das Redirector-Programm muss URLs (eine pro Zeile) in der Standardeingabe lesen und umgeschriebene URLs oder leere Zeilen in der Standardeingabe schreiben. Außerdem schreibt Squid nach der URL zusätzliche Informationen, anhand derer ein Redirector eine Entscheidung treffen kann. Die Eingabezeile besteht aus vier Feldern:

URL ip-address/fqdn ident method

Erläuterung:

HOME