Administratorhandbuch:Squid
Archiv: Dieser Artikel beschreibt nicht die Funktionalität des derzeit aktuellen delixs-Servers. Er beschreibt ältere Schulserver-Funktionen und dient dem Zweck der Archivierung. |
Der Proxy Server
Arbeitsweise des Proxy-Servers
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 des Arktur-Schulservers gespeichert wird. Ruft nun ein anderer Client die gleiche Seite auf, nutzt der PROXY seine Cache-Funktion und gibt dem Client statt der Seite aus dem Internet die lokale Kopie heraus. Das ist insbesondere für Bilder und statische Webseiten sinnvoll, deren Inhalt sich nur in seltenen Fällen ändert. Damit wird Ladezeit sowie Transfervolumen gespart und die Internetverbindung bleibt fühlbar schnell.
Aktive Seiten (z.B. Suchanfragen) werden automatisch erkannt und nicht im Cache gespeichert.
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 Sie die vorgenommenen Einstellungen nachvollziehen können.
Weiterhin finden Sie im Unterverzeichnis "/etc/squid/errors" die Fehlermeldungen, die ins Deutsche übersetzt wurden, damit für den Schulbetrieb sinnvolle und verständliche Fehlermeldungen 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 Datei "squid.conf" anpassen.
Filter für unerwünschte Inhalte
Die Filterfunktion (squidGuard) 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 auch einzelne Netzbereiche (Räume) oder einzelne Clients von den Internet-Zugriffen ausgeschlossen.
Die zentrale Steuerdatei für diesen Dienst steht im Verzeichnis "/etc/squid" und heißt "squidGuard.conf". Auch diese Datei ist speziell an den Arktur-Schulserver angepasst und eigentlich ordentlich kommentiert, so dass Sie die vorgenommenen Einstellungen nachvollziehen können.
Online- und Offline-Betrieb
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.
Probleme
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.
Neu in Arktur 4
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!
Zugriffs-Logbuch
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 geeignete Ident-Software auf der CD im Verzeichnis "software/win9x".
Besser als diese Identd zu nutzen ist es aber, die Anmeldung an Squid zu verwenden.
Auswertung des Surfverhaltens
Die Auswertung des Surfverhaltens Ihrer Schüler ist im Benutzerhandbuch Kapitel Surfkontrolle beschrieben.
Damit sollten Sie einen Überblick über die Arbeit des eingesetzten Proxy-Servers erhalten haben.
Filterlisten neu aufbauen
Sollte sich Ihr Squid mit immer wieder wechselnden Fehlermeldungen selbst beenden, dann ist oft eine inkonsistente Datenbank des Filters SquidGuard schuld. Mit folgendem Befehl bauen Sie die Datenbank komplett neu auf:
su -s /bin/bash -c "/usr/squid/bin/squidGuard -C all" squid
Je nach Prozessorgeschwindigkeit in Ihrem Arktur-Schulserver kann dieser Neuaufbau durchaus eine halbe Stunde dauern.