Der Squid auf SUSE LINUX ist bereits soweit
vorkonfiguriert, dass man ihn sofort nach der Installation starten kann. Als
Voraussetzung für einen reibungslosen Start sollte das Netzwerk soweit
konfiguriert sein, dass mindestens ein Nameserver und das Internet, dessen
Daten man cachen möchte, erreichbar sind. Probleme kann es bereiten, wenn
man eine Wählverbindung mit dynamischer DNS-Konfiguration verwendet. In so
einem Fall sollte mindestens der Nameserver fest eingetragen sein, da
Squid erst gar nicht startet, wenn er in der
/etc/resolv.conf keinen DNS-Server findet.
Um Squid zu starten, gibt man auf
der Kommandozeile (als root) den
Befehl rcsquid start ein. Beim
ersten Mal wird zunächst die Verzeichnisstruktur in
/var/squid/cache angelegt. Dies wird vom Startskript
/etc/init.d/squid automatisch durchgeführt und kann ein
paar Sekunden bis Minuten dauern. Erscheint rechts in grün
done, wurde Squid
erfolgreich gestartet. Auf dem lokalen System kann man die
Funktionsfähigkeit von Squid sofort testen, indem
man im Browser als Proxy localhost und als Port
3128 einträgt.
Um den Zugriff auf
Squid und somit das Internet für alle zu
ermöglichen, braucht man in der Konfigurationsdatei
/etc/squid/squid.conf lediglich den Eintrag
http_access deny all auf http_access allow
all zu ändern. Allerdings sollte man dabei bedenken, dass man den
Squid damit komplett für jedermann öffnet. Von
daher sollte man unbedingt ACLs definieren, die den Zugriff auf den Proxy
regeln. Dazu mehr unter Abschnitt 33.5.2, „Optionen zur Zugriffskontrolle“.
Hat man Änderungen an der Konfigurationsdatei
/etc/squid/squid.conf vorgenommen, muss
Squid diese neu einlesen; das geschieht mit dem
Befehl: rcsquid reload.
Alternativ kann man Squid auch komplett neu
starten: rcsquid restart.
Mit dem Befehl rcsquid status kann
man feststellen, ob der Proxy läuft; mit
rcsquid stop wird
Squid beendet. Das Stoppen kann eine Weile
dauern, da Squid bis zu einer halben Minute
(Option shutdown_lifetime in
/etc/squid/squid.conf) wartet, bevor die Verbindungen
zu den Clients unterbrochen werden, und da er dann noch seine Daten auf
Platte schreiben muss.
![]() | Beenden von Squid |
|---|---|
Beendet man Squid mit kill oder killall, kann das einen beschädigten Cache zur Folge haben, Ist der Cache beschädigt, muss man diesen löschen, um Squid überhaupt wieder starten zu können. | |
Beendet sich Squid nach kurzer Zeit, obwohl er
anscheinend erfolgreich gestartet wurde, kann das an einem fehlerhaften
Nameserver-Eintrag oder an einer fehlenden
/etc/resolv.conf liegen. Den Grund für einen
gescheiterten Start protokolliert Squid in
der Datei /var/squid/logs/cache.log . Soll
Squid bereits beim Booten automatisch gestartet
werden, muss im Runlevel-Editor von YaST
Squid für die gewünschten Runlevel
aktiviert werden.
Siehe Abschnitt 2.7.7, „System Services (Runlevel)“.
Bei einer Deinstallation von Squid werden weder
die Cache-Hierarchie noch die Protokoll-Dateien entfernt. Man muss das
Verzeichnis /var/cache/squid manuell löschen.
Einen lokalen DNS-Server aufzusetzen, ist durchaus sinnvoll, auch wenn dieser keine eigene Domain zu verwalten hat. Er fungiert dann lediglich als „Caching-only“-Nameserver und kann ohne spezielle Konfiguration DNS-Anfragen über die Root-Nameserver auflösen; zum Hintergrund vgl. Abschnitt 24.2, „Nameserver BIND starten“. Wie dies geschieht, ist davon abhängig, ob Sie während der Konfiguration der Internet-Verbindung dynamisches DNS wählen oder nicht.
Bei dynamischem DNS wird der DNS-Server während des Aufbaus
der Internet-Verbindung vom Anbieter gesetzt, und die lokale
Datei /etc/resolv.conf wird automatisch angepasst.
Dieses Verhalten wird durch die sysconfig-Variable MODIFY_RESOLV_CONF_DYNAMICALLY erreicht,
die auf YES gesetzt ist.
Setzen Sie diese Variable mit Hilfe des YaST-sysconfig-Editors
auf NO
(siehe Abschnitt 7.8, „Der YaST Sysconfig-Editor“).
Dann geben Sie den lokalen DNS-Server in der Datei
/etc/resolv.conf an, indem Sie die IP-Adresse
127.0.0.1 für localhost setzen. So findet
Squid beim Starten immer den lokalen Nameserver.
Um Zugriff auf den Nameserver des Providers zu ermöglichen, muss
dessen Name in der Konfigurationsdatei /etc/named.conf
unter forwarders zusammen mit seiner IP-Adresse
eingegeben werden. Bei dynamischem DNS kann dies durch die sysconfig-Variable
MODIFY_NAMED_CONF_DYNAMICALLY,
die auf YES gesetzt werden muss,
automatisch während des Verbindungsaufbaus erreicht werden.
Bei statischem DNS werden während des Verbindungsaufbaus
in Bezug auf DNS keine automatischen Anpassungen vorgenommen.
Daher brauchen keine sysconfig-Variablen geändert werden.
Geben Sie den lokalen DNS-Server wie oben beschrieben in der
Datei /etc/resolv.conf ein.
Außerdem muss der statische Nameserver des Anbieters
manuell in der Datei /etc/named.conf unter
forwarders zusammen mit seiner
IP-Adresse eingegeben werden.
![]() | DNS und Firewall |
|---|---|
Falls auf Ihrem System eine Firewall läuft, sorgen Sie dafür, dass DNS-Anfragen diese passieren können. | |