Squid

SQUID

Einleitung

Squid (http://www.squid-cache.org/) ist ein Proxy-Server für das HTTP-Protokoll. Er kann aber auch mit HTTPS- und FTP-Verbindungen umgehen. Man kann damit oft aufgerufene Seiten zwischenspeichern. Dies spart Bandbreite bei langsamen Verbindungen. Weiterhin lassen sich bestimmte URLs blockieren bzw schadhafte Dateien ausfiltern. Er wird meist auf dem Gateway, der die Internetverbindung bereitstellt, installiert.

Konfiguration

Squid kann bei allen Linuxdistributionen als Paket installiert werden. Die Konfiguration erfolgt über die Konfigurationsdatei /etc/squid/squid.conf (Minimalkonfiguration):

 visible_hostname redir.local
 http_port 3128
 cache_mem 8 MB
 cache_dir ufs /var/cache/squid 100 256 16
 acl manager proto cache_object
 acl localhost src 127.0.0.1/255.255.255.255
 acl all src 0.0.0.0/0.0.0.0
 acl allowed_hosts src 192.168.1.0/255.255.255.0
 http_access allow manager localhost
 http_access deny manager all
 http_access allow allowed_hosts
 http_access deny all
 icp_access allow allowed_hosts
 icp_access deny all
 cache_effective_user daemon
 access_log none
 cache_store_log none

Wichtig sind folgende Parameter:

  • cache_mem 8 MB - dies ist die Größe des Hauptspeichers, die Squid benutzen darf
  • cache_dir ufs /var/cache/squid 100 256 16 - dies gibt das Verzeichnis an, wo Squid den Zwischenspeicher vorhält und wie gross der Platzbedarf sein darf (100MiB), Anzahl der Unterverzeichnisse im Zwischenspeicherverzeichnis (16) und Anzahl der Unterverzeichnisse in Unterverzeichnissen vom Zwischenspeicherverzeichnis (256). Man muss eigentlich nur die Größe anpassen (100MiB).
  • acl allowed_hosts src 192.168.1.0/255.255.255.0 - Dies gibt das Netzwerk der Clients an und muss mit dem Netzwerk des LAN übereinstimmen. Ohne diese Regel dürfen die Clients den Proxy nicht benutzen.

Normalerweise müssen die Clients im Webbrowser den Proxyserver eintragen (IP-Adresse des Servers und Port 3128). Es besteht aber auch die Möglichkeit, dass Squid transparent läuft. Hierfür muss zuerst eine Portredirekt per iptables eingerichtet werden (eth0 ist die LAN-Schnittstelle, wo die Clients angeschlossen sind):

 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

In der Konfigurationsdatei sind folgende Zeilen anzufügen:

 httpd_accel_host virtual
 httpd_accel_port 80
 httpd_accel_with_proxy on
 httpd_accel_uses_host_header on

Wer weiterführende Konfigurationen benötigt, kann unter Squid-Konfigurationsdirektiven (http://www.squid-cache.org/Doc/config/) auf der Squid-Seite nachschlagen.

Von "http://www.lug-wr.de/wiki/index.php/Squid"

Diese Seite wurde bisher 3038 mal abgerufen. Diese Seite wurde zuletzt geändert um 06:38, 10. Mai 2010. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.