fli4l - floppy-isdn4linux                                Squid.txt 3.0.1
-------------------------------------------------------------------------------


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 config.txt:
----------------------------


        SQUID_TRANSPARENT_CACHING

                Wenn man diese Funktion 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'

                WICHTIG: Wenn diese Option auf 'yes' gesetzt wurde, kann man
                                kein portforwarding mehr auf PORT 80 verwenden.
                                Das wuerde zu einem Konflikt fuehren und Squid
                                wuerde seinen Dienst verweigern.

                         Wenn diese Option auf 'yes' gesetzt wurde, 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 geffnet. Dies ermglicht 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 groe 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 vollstndigen
                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)
