Administratorhandbuch:Squid
![]() |
Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben). |
Der Proxy Server
Als Proxy-Software wird beim Arktur-Schulserver Squid eingesetzt, weil sich diese Software inzwischen bei vielen Providern als "Standard" durchgesetzt hat. Squid hat in diesem Server drei Aufgaben:
- Er holt als Proxy-Server alle Web-Seiten aus dem Internet über die "Firewall"-Funktion hinweg.
- Er speichert alle aufgerufenen Seiten zwischen (sofern sich diese Seite dafür eignet)
- Er filtert mittels Plugin (squidguard) unerwünschte Seiten nach einem bestimmten Regelwerk aus.
Weil die Clients eine IP-Adresse aus dem "privaten Bereich" haben, an die keine Antworten aus dem Internet zurückkommen würden, stellt der Proxy-Server den "Ersatzserver" für Internet-Seiten dar. Wenn auf einem Client ein Web-Browser eine Adresse ruft, z.B. http://www.heise.de/ct/, so fragt der Browser den Proxy-Server nach dieser Seite. Der Proxy hat, wenn Arktur online ist, eine offizielle IP-Adresse und kann die Seiten aus dem Internet holen. Die Cache-Funktion sorgt dafür, dass die einmal geholte Seite auf der lokalen Festplatte gespeichert wird. Ruft nun ein anderer Client die gleiche Seite auf, nutzt der Cache-Proxy statt der Seite aus dem Internet die lokale Kopie. Das ist insbesondere für Bilder sinnvoll, deren Inhalt sich nur in seltenen Fällen ändert und die im Vergleich zu den HTML-Seiten meist viel größer sind. Aktive Seiten (z.B. Suchanfragen) werden automatisch erkannt und nicht im Cache gespeichert. Die Filterfunktion sorgt dafür, dass bestimmte Seiten nicht geholt werden, sondern stattdessen eine entsprechende Fehlermeldung erscheint. Zudem wird bei der Anfrage entschieden, ob der Client berechtigt ist, Anfragen ans Internet zu stellen. Über diese Funktion werden einzelne Netzbereiche von den Internet-Zugriffen ausgeschlossen, wie im Kapitel 6.1 erklärt.
Die zentrale Steuerdatei für diesen Dienst steht im Verzeichnis /etc/squid und heißt squid.conf . Diese Datei ist speziell an den Arktur-Schulserver angepasst und eigentlich ordentlich kommentiert, so dass die vorgenommenen Einstellungen nachvollziehbar sind. Weiterhin finden Sie im Unterverzeichnis errors die Fehlermeldungen, die ins Deutsche übersetzt wurden, damit für den Schulbetrieb sinnvolle und verständliche Meldungen erscheinen. Sollten Sie an einer internationalen Schule unterrichten, finden Sie die englischen Fehlermeldungen im Unterverzeichnis errors-eng im gleichen Verzeichnis. Dann müssen Sie nur die squid.conf anpassen.
Noch etwas zur Arbeitsweise des Squid in diesem Server: Squid wird in zwei verschiedenen Zuständen betrieben: Online- und Offline-Betrieb. Wenn der Server offline ist, also keine Internet-Verbindung besteht (auch nicht standby!), wird Squid durch die Zeile "offline_mode on" am Ende der squid.conf in eine Betriebsart versetzt, die Seiten nur aus dem lokalen Cache holt und keine Internet-Anfragen macht. Damit die Seiten aus dem Cache zugeordnet werden können, muss die IP-Adresse des WWW-Namens ebenfalls im Cache enthalten sein. Dieser IP-Nummern-Cache wird allerdings nur im Arbeitsspeicher gehalten. Wird der Squid-Prozess einmal gestoppt, z.B. durch einen Neustart des Servers, geht dieser Nummern-Cache verloren und die Seiten werden, obwohl im Festplatten-Cache enthalten, nicht angezeigt.
Im Online-Betrieb startet Squid je nach Einstellung erst eine Anfrage mit dem ICP (Internet Cache Protokoll) an den "vorgesetzten" Proxy, falls Sie bei der Einrichtung der Internet-Verbindung einen solchen Proxy angegeben haben. Schlägt das fehl, wird dieselbe Anfrage mit dem HTTP-Protokoll an den Proxy wiederholt. Haben Sie keinen Proxy angegeben, holt Squid die Seiten direkt aus dem Internet. Ist also der Proxy des Providers nicht gerade optimal angeschlossen, ist es oft besser, keinen Proxy anzugeben (z.B. bei T-Online).
Hat Squid die Seite einmal geholt, wird sie samt Anfrage auf der Festplatte gespeichert. Dazu dient eine komplexe Struktur von Verzeichnissen unterhalb von /var/proxy , in der die Anfragen gespeichert werden. Die Einträge verwaltet Squid mit einer Index-Datei in diesem Verzeichnis. Sie sollten also keinesfalls Dateien in diesen Verzeichnissen einfach löschen bzw. die Index-Datei von Hand bearbeiten!
Um zu erkennen, ob eine Seite sich verändert hat, wird an den WWW-Server zunächst eine sogenannte "If-modified-since"-Anfrage gestartet. Sollte das Datei-Datum auf dem Web-Server ein neueres Datum haben, wird die Seite übertragen und damit der Cache-Inhalt überschrieben. Hat sich die Datei nicht verändert, kann der Proxy die Datei aus dem Cache holen.
Diese Betriebsweise bringt natürlich auch zwei Probleme mit sich:
- Wenn eine Seite sich verändert, aber der Proxy bzw. dessen vorgesetzter Proxy diese Änderung nicht mitgeteilt bekommen, wird dennoch die Seite aus dem Cache gezeigt. Hier können Sie (beim Netscape Navigator) den folgenden Trick nutzen: Halten Sie die "Shift"-Taste gedrückt, während Sie den "Neu Laden" (Reload)-Button mit der Maus anklicken. Dann wird über eine spezielle Anfrage der Cache davon überzeugt, die Seite trotzdem aus dem Internet zu holen und nicht die lokale Kopie zu benutzen. Das geht natürlich nur, wenn der Server auf "online" steht!
- Wenn Sie auch lokale Seiten über den Proxy holen und der Server auf "offline" steht, werden aktualisierte Seiten selbst dann nicht geholt, wenn man den oben genannten Trick nutzt. Dann hilft es eventuell, hinter die Adresse ein Fragezeichen zu setzen, also statt http://arktur/~meyer/index.htm ein http://arktur/~meyer/index.htm? , weil so der Proxy davon ausgeht, die Seite enthielte aktive Inhalte und darf nicht gespeichert werden.
Umsteiger auf Arktur 4 müssen sich an eine Änderung gewöhnen. Wenn man der Internetdomain der Schule und der lokalen Web-Domain auf Arktur den gleichen Namen (siehe Administratorhandbuch Kapitel Webdomain = Schuldomain) gegeben hat, so wurden u.U. die Internetseiten nicht angezeigt. Dies wurde bei Arktur 4 dadurch umgangen, dass lokale Adressen mit http://arktur beginnen und nicht mit http://www ! Dies müssen Umsteiger am Anfang besonders beachten!
Alle Anfragen an den Proxy schreibt Squid in eine Log-Datei, die sich im Verzeichnis /var/log/proxy befindet und access.log heißt. Über diese Datei können Sie nachvollziehen, welcher Rechner welche Internet-Seiten um welche Zeit angefordert hat. Ist auf dem Client eine Software installiert, die sogenannte ident-Anfragen beantwortet, wird auch der Nutzer, der die Seite aufgerufen hat, in dieser Datei vermerkt. Sie haben damit einen Überblick über die Internet-Aktivitäten der Schüler. Für Linux verbirgt sich die Ident-Software meist in einem Paket "pident", für Windows liegt eine geeigente Ident-Software auf der CD im Verzeichnis software/win9x.
Besser als diese Identds zu verwenden ist es aber die Anmeldung an Squid zu verwenden
Auswertung
Die Auswertung ist im Benutzerhandbuch Kapitel Surfkontrolle und unter den Tools Kapitel Admin2 beschrieben.
Damit sollten Sie einen Überblick über die Arbeit des eingesetzten Proxy-Servers erhalten haben.