fli4l - floppy-isdn4linux Squid.txt 3.2.2 ------------------------------------------------------------------------------- Package SQUID - Http Proxy Server ================================= Dokumentation des OPT Pakets Squid: Beschreibung: ------------- Squid ist ein HTTP Proxy, der es ermoeglicht, Internet Seiten auf einer lokalen Festplatte zwischenzuspeichern und bei erneutem Aufruf der Seite, eine aktuelle lokale Kopie sendet, anstatt die Seite jedesmal neu zu uebertragen. 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 Verfuegung steht. Voraussetzungen: ---------------- Es wird ein lauffaehiges Basissystem von fli4l (www.fli4l.de) benoetigt. 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 uneingeschraenkten Zugriff auf den Router hat auch gleichzeitig uneingeschraenkten Internet-Zugriff ueber den Squid. Dies betrifft die Protokolle HTTP, HTTPS und FTP! Variablen in der 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 nuetzlich sein, wenn man auch die Clients cachen moechte, 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 Ordnungsgemaesse konfiguration der Clients kuemmern kann/will. 2.) Programme die keinen Proxy unterstuetzen, 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 wuerde zu einem Konflikt fuehren und Squid wuerde seinen Dienst verweigern. Wenn diese Optionen auf 'yes' gesetzt wurden, sind Zugangssperren von einzelnen IP's in der base.txt wirkungslos! Schliesslich 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 Groesse in MB an. Empfohlen wird 1/4 des vorhandenen Hauptspeicher des Router. SQUID_DISK_CACHE_SIZE Diese Einstellung bestimmt, wieviel Platz der Cache maximal auf der Festplatte einnehmen darf. Man gibt die Groesse in MB an. Wird der Cache groesser, loescht Squid automatisch alte Dateien, so dass die Maximalgroesse nicht ueberschritten wird. Auf der Platte sollte bei vollem Cache noch mindestens 25 % frei sein, weil Squid sehr langsam wird, wenn die Platte annaehernd 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 fuer den Prozess + den unter SQUID_MEM_CACHE_SIZE gewaehlten Hauptspeicher fuer den Cache im RAM + ca. 6 MB Hauptspeicher pro GB Cache auf der Platte benoetigt. Der Squid Prozess darf nicht ausgelagert werden, es muss entsprechend viel physikalischer Speicher vorhanden sein! Also bei Problemen SQUID_DISK_CACHE_SIZE klein genug waehlen, ein Squid mit kleinerem Cache ist schneller als ein Squid mit grossem Cache aber zuwenig Hauptspeicher. SQUID_MAX_OBJECT_SIZE Der Wert wird in kB angegeben. Objekte, die groesser 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 hoehere 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 fuer den Betrieb benoetigten 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 genuegend Kapazitaet 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 Logdatei-Rotationen. Wird hier der Wert "0" angegeben, werden die Logdateien nur ge- schlossen und wieder geöffnet. Dies ermöglicht Ihnen, die Log- dateien selbst umzubenennen. Der Standardwert ist: SQUID_CYCLE_LOG_N='10' Das entspricht 10 rotierenden Logdateien. SQUID_CYCLE_LOG_TIME Da man Squid, wenn er einmal laeuft, meistens ungeachtet laesst, ist es ganz praktisch, die LOG Dateien regelmaessig automatisch zu loeschen. Es vermeidet, dass die Festplatte voll geschrieben wird. Der Wert wird in Sekunden angegeben. 1 Stunde entspricht 3600 Sekunden. Der Standardwert 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 Netzwerke mit Zugriffsrecht auf die Dienste von Squid automatisch aus der base.txt geholt werden, oder ob die Netzwerke manuell ueber die nachfolgenden Felder konfiguriert werden. Fuer große Netzwerke mit mehreren IP-Bereichen und weiteren Routern kann diese Automatik mit den nachfolgenden Optionen kombiniert werden. SQUID_ACCESS_NET_N Anzahl der Netzwerke, die auf die Dienste von Squid zugreifen duerfen. Im Normalfall ist dieser Wert '0', da alle direkt am fli4l konfigurierten Netzwerke ueber 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 waere: SQUID_ACCESS_NET_1='192.168.0.0/24' Jetzt duerften alle PC's mit den IP Adressen 192.168.0.XXX Squid benutzten. ------------------------------------------------------------------------------- Die folgenden Variablen sind Zusaetze und nicht notwendig fuer den Betrieb ------------------------------------------------------------------------------- SQUID_CONNECT_TIMEOUT Diese Option bestimmt, wie lange Squid auf einen vollständigen TCP-Verbindungsaufbau zu einem Server wartet. Innerhalb dieser Zeit (Standard: 120 Sekunden) muss die Verbindung zum Server aufgebaut sein. SQUID_CACHE_DIR_N Falls man den Cache ueber mehrere Festplatte verteilen will, dann kann man den Zugriff darauf hier aktivieren. Dazu kann man mehrere zusaetzliche Cache Verzeichnisse angeben. Um das zu machen, muss der Zaehler auf die gewuenschte Anzahl der zusaetzlichen Verzeichnisse gesetzt werden. Jetzt kann man die Variablen SQUID_CACHE_1_DIR SQUID_CACHE_1_SIZE mit den gewuenschten Werten fuellen. Ein Beispiel waere, wenn eine zweite Festplatte unter /disk2 gemountet ist und sie eine Kapazitaet von 4 GB hat: SQUID_CACHE_1_DIR='/disk2' SQUID_CACHE_1_SIZE='3000' Diese Festplatte wuerde jetzt nur fuer den Squid Cache genutzt werden. Standardeinstellung ist: keine weiteren cache_dir. SQUID_NEXT_PROXY Falls der Internetzugang nur ueber einen Proxy moeglich ist, oder aus Performancegruenden auf einen Upstream 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 aufzuloesen. Standardeinstellung ist: kein Upstream Proxy SQUID_NEXT_PROXY_PORT Port des Upstream Proxy, wird nur ausgewertet, wenn SQUID_NEXT_PROXY nicht leer ist, z. B. SQUID_NEXT_PROXY_PORT='80' Standardeinstellung ist: leer ------------------------------------------------------------------------------- !!!!! NUR FUER EXPERTEN !!!!! NUR FUER EXPERTEN !!!!! NUR FUER EXPERTEN !!!!! ------------------------------------------------------------------------------- In der Datei opt/etc/rc.d/rc455.squid stehen alle in der squid.conf enthaltenen Variablen. Wer an der squid.conf selbst Aenderungen vornehmen will kann dies an dieser Stelle machen. Beim Start des fli4l werden die gemachten Aenderungen in die dynamisch erzeugte squid.conf uebernommen. ------------------------------------------------------------------------------- !!!!! NUR FUER EXPERTEN !!!!! NUR FUER EXPERTEN !!!!! NUR FUER EXPERTEN !!!!! ------------------------------------------------------------------------------- Fuer weitergehende Fragen kann ich die Homepage des Squid Project und die dazugehoerige FAQ empfehlen: http://www.Squid-cache.org/Doc/FAQ/FAQ.html oder jetzt auch http://www.Squid-handbuch.de/ ------------------------------------------------------------------------------- Urspruenglicher Autor: Hermann Strassner (hermann.strassner@web.de) Erweitert und geaendert durch: Ingo Winiarski (iwiniarski@gmx.de)