Dokumentation des OPT-Pakets Squid



Beschreibung:

Squid ist ein HTTP Proxy, der es ermöglicht, Internet Seiten auf einer lokalen Festplatte zwischenzuspeichern und bei erneutem Aufruf der Seite, eine aktuelle lokale Kopie sendet, anstatt die Seite jedes mal neu zu übertragen. Dadurch wird die Leitung in das Internet entlastet und der Aufbau der Seite wird schneller. Besonders ist der Einsatz zu empfehlen, wenn mehrere Personen gleichzeitig surfen wollen, aber nur eine geringe Bandbreite ins Internet zur Verfügung steht.

Voraussetzungen:

Es wird ein lauffähiges Basissystem von fli4l (www.fli4l.de) benötigt. fli4l muss dabei auf einer Festplatte installiert sein.

min. Anforderungen sind:
CPU: 100 MHz
RAM: 32 MB
HD: 100 MB


WICHTIGER WARNHINWEIS:

Squid ist ein Prozess auf dem fli4l-Router! Damit hat automatisch jedes System, welches über die Input-Liste der neuen Paketfilter-Konfiguration uneingeschränkten Zugriff auf den fli4l hat auch gleichzeitig uneingeschränkten Internet-Zugriff über den Squid. Dies betrifft die Protokolle HTTP, HTTPS und FTP!



Variablen in der config/squid.txt:

SQUID_MANAGER Gibt die eMail-Adresse des lokalen Proxy Administrators an. Diese Adresse wird auch bei Fehlermeldungen als Ansprechpartner ausgegeben. Ebenso dient diese eMail-Adresse als Login fuer den Cachemanager.

Standardeinstellung ist: SQUID_MANAGER='squid@fli4l'

SQUID_PASSWORD Passwort fuer den Cachemanager.

Standardeinstellung ist: SQUID_PASSWORD='fli4l'

SQUID_TRANSPARENT_CACHING
SQUID_TRANSPARENT_FORWARDING
Wenn man diese Funktionen aktiviert, filtert Squid alle "Surf-Zugriffe" vom internen Netz ins Internet heraus und cached sie somit. Das kann nützlich sein, wenn man auch die Clients cachen möchte, die in ihrem Browser nicht explizit einen Proxy angegeben haben. Der Surfer am Client bekommt davon allerdings nichts mit.

Der Vorteil:

  1. Man kann die Leitung ins Internet auch dann cachen, wenn man sich nicht um die ordnungsgemässe Konfiguration der Clients kümmern kann/will.
  2. Programme die keinen Proxy unterstützen, werden auch abgefangen und kommen auch in den Genuss der "schnelleren Verbindung" 

Standardeinstellung ist:
SQUID_TRANSPARENT_CACHING='no'
SQUID_TRANSPARENT_FORWARDING='no'

WICHTIG:

  • Wenn diese Optionen auf 'yes' gesetzt wurden, kann man kein portforwarding mehr auf PORT 80 verwenden. Das würde zu einem Konflikt führen und Squid würde seinen Dienst verweigern.
  • Wenn diese Optionen auf 'yes' gesetzt wurden, sind Zugangssperren von einzelnen IP's in der base.txt wirkungslos! Schließlich hat der fli4l selbst immer vollen Zugriff auf das Internet.
SQUID_HTTP_PORT Hier wird angegeben auf welchen TCP Port Squid auf Verbindungen warten soll.

Standardeinstellung ist: SQUID_HTTP_PORT='3128'

SQUID_MEM_CACHE_SIZE Diese Einstellung bestimmt, wieviel Platz der Cache maximal im RAM einnehmen darf. Man gibt die Größe in MB an.

Empfohlen wird 1/4 des vorhandenen Hauptspeicher des fli4l.
SQUID_DISK_CACHE_SIZE Diese Einstellung bestimmt, wieviel Platz der Cache maximal auf der Festplatte einnehmen darf. Man gibt die Größe in MB an. Wird der Cache größer, löscht Squid automatisch alte Dateien, so dass die Maximalgröße nicht überschritten wird. Auf der Festplatte sollte bei vollem Cache noch mindestens 25 % frei sein, weil Squid sehr langsam wird, wenn die Platte annähernd voll ist. Wenn Squid keinen Platz auf der Platte hat, um Dateien zu schreiben, beendet er sich mit einem Fehler.

Auch sollte man beachten, dass Squid ca. 6 MB Hauptspeicher für den Prozess + den unter SQUID_MEM_CACHE_SIZE gewählten Hauptspeicher für den Cache im RAM + ca. 6 MB Hauptspeicher pro GB Cache auf der Platte benötigt. Der Squid Prozess darf nicht ausgelagert werden, es muss entsprechend viel physikalischer Speicher vorhanden sein!

Also bei Problemen SQUID_DISK_CACHE_SIZE klein genug wählen, ein Squid mit kleinerem Cache ist schneller als ein Squid mit großem Cache aber zuwenig Hauptspeicher.
SQUID_MAX_OBJECT_SIZE Der Wert wird in kB angegeben. Objekte, die größer als dieser Wert sind, werden nicht auf Festplatte gespeichert. Wenn man viel Traffic einsparen will auf Kosten hoher Geschwindigkeit, sollte man diesen Wert hochsetzen. Wenn man eine höhere Geschwindigkeit auf Kosten von mehr Traffic erreichen will, sollte man diesen Wert auf 10000 kB und darunter setzen.

Standardeinstellung ist: SQUID_MAX_CACHE_SIZE='65536'

SQUID_WORK_DIR In diesem Verzeichnis legt Squid seinen Cache, die Log Dateien, sowie weitere für den Betrieb benötigten Dateien ab.

Der Cache befindet sich dann in: SQUID_WORK_DIR/cache

Analog dazu die Logs: SQUID_WORK_DIR/logs

SQUID_WORK_DIR sollte also auf eine Festplatte mit genügend Kapazität verweisen. Wichtige Voraussetzungen sind, dass man einen Read/Write Zugriff hat und dass die Festplatte mit dem ext3 Dateisystem formatiert ist. Genauere Informationen zur Festplattenvorbereitung sowie Nutzung unter fli4l, findet man in dem Paket HD.

Standardeinstellung ist: SQUID_WORK_DIR='/data/Squid'

SQUID_CYCLE_LOG_N Diese Option bestimmt die Anzahl von LOG-Datei-Rotationen. Wird hier der Wert '0' angegeben, werden die LOG-Dateien nur geschlossen und wieder geöffnet. Dies ermöglicht Ihnen, die LOG-Dateien selbst umzubenennen.

Standardeinstellung ist: SQUID_CYCLE_LOG_N='10'

Das entspricht 10 rotierenden LOG-Dateien.
SQUID_CYCLE_LOG_TIME Da man Squid, wenn er einmal läuft, meistens ungeachtet lässt, ist es ganz praktisch, die LOG-Dateien regelmässig automatisch zu löschen. Es vermeidet, dass die Festplatte voll geschrieben wird. Der Wert wird in Sekunden angegeben. 1 Stunde entspricht 3600 Sekunden.

Standardeinstellung ist: SQUID_CYCLE_LOG_TIME='172800'

Das entspricht 48 Stunden.


Die folgenden Variablen sind nur bei Netzwerkkonfigurationen ausserhalb der base.txt von Bedeutung

SQUID_AUTO_CONFIG Mit dieser Option wird festgelegt, ob die am fli4l angeschlossenen Netzwerke automatisch aus der base.txt geholt werden, oder ob die Netzwerke manuell über die nachfolgenden Felder konfiguriert werden.

Für große Netzwerke mit mehreren IP-Bereichen und weiteren Routern kann diese Automatik mit den nachfolgenden Optionen kombiniert werden.

Standardeinstellung ist: SQUID_AUTO_CONFIG='yes'

SQUID_ACCESS_NET_N Anzahl der Netzwerke, die auf die Dienste von Squid zugreifen dürfen. Im Normalfall ist dieser Wert '0', da alle direkt am fli4l konfigurierten Netzwerke über SQUID_AUTO_CONFIG bereits erfasst sind.
SQUID_ACCESS_NET_x Hier gibt man das Netzwerk an, dass auf die Dienste von Squid zugreifen darf.

Ein Beispiel wäre: SQUID_ACCESS_NET_1='192.168.0.0/24'

Jetzt dürften alle PC's mit den IP-Adressen 192.168.0.xxx den Squid benutzen.


Die folgenden Variablen sind Zusätze und nicht notwendig für den Betrieb

SQUID_CONNECT_TIMEOUT Diese Option bestimmt, wie lange Squid auf einen vollständigen TCP-Verbindungsaufbau zu einem Server wartet. Innerhalb dieser Zeit muss die Verbindung zum Server aufgebaut sein.

Standardeinstellung ist: SQUID_CONNECT_TIMEOUT='120'

SQUID_CACHE_DIR_N Falls man den Cache über mehrere Festplatte verteilen will, dann kann man den Zugriff darauf hier aktivieren. Dazu kann man mehrere zusätzliche Cache Verzeichnisse angeben. Um das zu machen, muss der Zähler auf die gewünschte Anzahl der zusätzlichen Verzeichnisse gesetzt werden.

Jetzt kann man die Variablen
  • SQUID_CACHE_1_DIR
  • SQUID_CACHE_1_SIZE
mit den gewünschten Werten füllen. Ein Beispiel wäre, wenn eine zweite Festplatte unter /disk2 gemountet ist und sie eine Kapazität von 4 GB hat:
  • SQUID_CACHE_1_DIR='/disk2'
  • SQUID_CACHE_1_SIZE='3000'
Diese Festplatte würde jetzt nur für den Squid Cache genutzt werden.

Standardeinstellung ist: keine weiteren cache_dir.

SQUID_NEXT_PROXY Falls der Internetzugang nur über einen Proxy möglich ist, oder aus Performancegründen auf einen Parent Proxy zugegriffen werden soll, wird der hier im Format 'name.domain' eingetragen, also z. B. SQUID_NEXT_PROXY='www-proxy.t-online.de' Bei Ausfall dieses Proxy versucht Squid die Seiten direkt aufzulösen.

Standardeinstellung ist: kein Parent Proxy

SQUID_NEXT_PROXY_PORT Port des Parent Proxy, z. B. SQUID_NEXT_PROXY_PORT='80'

Standardeinstellung ist: leer



!!!!! NUR FÜR EXPERTEN !!!!! NUR FÜR EXPERTEN !!!!! NUR FÜR EXPERTEN !!!!!

In der Datei opt/etc/rc.d/rc455.squid stehen alle in der squid.conf enthaltenen Variablen. Wer an der squid.conf selbst Änderungen vornehmen will kann dies an dieser Stelle machen. Beim Start des fli4l werden die vorgenommenen Änderungen in die dynamisch erzeugte squid.conf übernommen.



Für weitergehende Fragen kann ich die Homepage des Squid Project empfehlen: www.squid-cache.org oder auch www.squid-handbuch.de



Ursprünglicher Autor: Hermann Strassner (hermann.strassner@web.de)

Erweitert und geändert durch: Ingo Winiarski (iwiniarski@gmx.de)