29.3. Starten von Squid

Squid ist in SUSE Linux bereits vorkonfiguriert. Sie können das Programm unmittelbar nach der Installation starten. Um einen reibungslosen Start zu gewährleisten, sollte das Netzwerk so konfiguriert werden, dass mindestens ein Namenserver und das Internet erreicht werden können. Es können Probleme auftreten, wenn eine Einwahlverbindung zusammen mit einer dynamischen DNS-Konfiguration verwendet wird. In diesem Fall sollte zumindest der Namenserver eingegeben werden, da Squid nicht startet, wenn kein DNS-Server in /etc/resolv.conf gefunden wird.

29.3.1. Befehle zum Starten und Stoppen von Squid

Geben Sie zum Starten von Squid als root in der Befehlszeile den Befehl rcsquid start ein. Beim ersten Start muss zunächst die Verzeichnisstruktur des Cache in /var/cache/squid definiert werden. Dies geschieht automatisch über das Startskript /etc/init.d/squid und kann einige Sekunden oder sogar Minuten in Anspruch nehmen. Wenn rechts in grüner Schrift done angezeigt wird, wurde Squid erfolgreich geladen. Um die Funktionsfähigkeit von Squid im lokalen System zu testen, geben Sie localhost als Proxy und 3128 als Port im Browser an.

Um Benutzern aus dem lokalen System und anderen Systemen den Zugriff auf Squid und das Internet zu ermöglichen, müssen Sie den Eintrag in den Konfigurationsdateien /etc/squid/squid.conf von http_access deny all in http_access allow all ändern. Beachten Sie dabei jedoch, dass dadurch jedem der vollständige Zugriff auf Squid ermöglicht wird. Daher sollten Sie ACLs definieren, die den Zugriff auf den Proxy steuern. Weitere Informationen hierzu finden Sie in Abschnitt 29.4.2, „Optionen für die Zugriffssteuerung“.

Nach der Bearbeitung der Konfigurationsdatei /etc/squid/squid.conf muss Squid die Konfigurationsdatei erneut laden. Verwenden Sie hierfür rcsquid reload. Alternativ können Sie mit rcsquid restart einen vollständigen Neustart von Squid durchführen.

Mit dem Befehl rcsquid status kann überprüft werden, ob der Proxy ausgeführt wird. Mit dem Befehl rcsquid stop wird Squid heruntergefahren. Dieser Vorgang kann einige Zeit in Anspruch nehmen, da Squid bis zu einer halben Minute (Option shutdown_lifetime in /etc/squid/squid.conf) wartet, bevor es die Verbindungen zu den Clients trennt und seine Daten auf die Festplatte schreibt.

[Warning]Beenden von Squid

Das Beenden von Squid mit kill oder killall kann zur Beschädigung des Cache führen. Damit Squid neu gestartet werden kann, muss der beschädigte Cache gelöscht werden.

Wenn Squid nach kurzer Zeit nicht mehr funktioniert, obwohl das Programm erfolgreich gestartet wurde, überprüfen Sie, ob ein fehlerhafter Namenservereintrag vorliegt oder ob die Datei /etc/resolv.conf fehlt. Squid protokolliert die Ursache eines Startfehlers in der Datei /var/log/squid/cache.log. Wenn Squid beim Booten des Systems automatisch geladen werden soll, müssen Sie Squid mithilfe des YaST-Runlevel-Editors für die gewünschten Runlevels aktivieren. Siehe Abschnitt 2.5.10, „Systemdienste (Runlevel)“ (↑ Start ).

Durch eine Deinstallation von Squid werden weder die Cache-Hierarchie noch die Protokolldateien entfernt. Um diese zu entfernen, müssen Sie das Verzeichnis /var/cache/squid manuell löschen.

29.3.2. Lokaler DNS-Server

Die Einrichtung eines lokalen DNS-Servers ist sinnvoll, selbst wenn er nicht seine eigene Domäne verwaltet. Er fungiert dann einfach als Nur-Cache-Namenserver und kann außerdem DNS-Anforderungen über die Root-Namenserver auflösen, ohne dass irgendeine spezielle Konfiguration erforderlich ist (siehe Abschnitt 20.3, „Starten des Namenservers BIND“). Wie dies durchgeführt werden kann, hängt davon ab, ob Sie bei der Konfiguration der Internetverbindung dynamisches DNS auswählen.

Dynamisches DNS

Normalerweise wird bei dynamischem DNS der DNS-Server während des Aufbaus der Internetverbindung vom Anbieter festgelegt und die lokale Datei /etc/resolv.conf wird automatisch angepasst. Dieses Verhalten wird in der Datei /etc/sysconfig/network/config mit der sysconfig-Variablen MODIFY_RESOLV_CONF_DYNAMICALLY gesteuert, die auf „yes“ gesetzt ist. Setzen Sie diese Variable mit dem sysconfig-Editor von YaST auf „no“ (sieheAbschnitt 8.3.1, „Ändern der Systemkonfiguration mithilfe des YaST-Editors „sysconfig““). Geben Sie anschließend den lokalen DNS-Server in die Datei /etc/resolv.conf ein. Verwenden Sie die IP-Adresse 127.0.0.1 für localhost. Auf diese Weise kann Squid immer den lokalen Namenserver finden, wenn er gestartet wird.

Um den Zugriff auf den Namenserver des Anbieters zu ermöglichen, geben Sie ihn zusammen mit seiner IP-Adresse in die Konfigurationsdatei /etc/named.conf unter forwarders ein. Mit dynamischem DNS kann dies automatisch während des Verbindungsaufbaus erreicht werden, indem die sysconfig-Variable MODIFY_NAMED_CONF_DYNAMICALLY auf YES gesetzt wird.

Statisches DNS

Beim statischen DNS finden beim Verbindunsgsaufbau keine automatischen DNS-Anpassungen statt, sodass auch keine sysconfig-Variablen geändert werden müssen. Sie müssen jedoch den lokalen DNS-Server in die Datei /etc/resolv.conf eingeben, wie oben beschrieben. Außerdem muss der statische Namenserver des Anbieters zusammen mit seiner IP-Adresse manuell in die Datei /etc/named.conf unter forwarders eingegeben werden.

[Tip]DNS und Firewall

Wenn eine Firewall ausgeführt wird, müssen Sie sicherstellen, dass DNS-Anforderungen durchgelassen werden.