Pinguinbild

L i n u x - S c h u l e
Raumweiser Proxyzugriff

Homepage | Server | Linux-Clients | Win9x-Clients | WinNT-Clients | Win3.11-Clients | Dos-Clients | Utilities

Was es ist

Was man braucht

Was man anpassen muß

Mögliche Fehlerquellen

Das Downloadpaket


Was es ist

Wenn mehrere Räume an Arktur angeschloßen sind, ist es manchmal wünschenswert, einzelne Räume vom Internetzugang auszuschließen, ohne dass der Zugriff auf die anderen Netzdienste unterbrochen wird.
Dazu werden durch eine Zugriffskontrollliste (ACL) des Proxy Servers Squid Netzwerksegmente (192.168.x.y) definiert, denen kein Zugriff auf den Proxy gestattet ist. Weil in der Regel die Netzwerksegmente den einzelnen Computerräumen entsprechen, kann der unterrichtende Lehrer den Zugriff aufs Internet für seinen Raum gezielt sperren oder freigeben.

Daneben ist es natürlich auch möglich, den Aufruf in einen cron-job zu packen, um z.B. für unbeaufsichtigte Arbeitsplätze den Zugriff aufs Netz gezielt freizugeben oder zu sperren.

Was man braucht

Klaus Werner hat einen Satz von Dateien zusammengestellt, mit denen der Zugriffskontrollmechanismus von Squid gesteuert werden kann.

Dazu sind die folgenden Dateien nötig:

Daneben sind Änderungen in folgenden Dateien nötig:

ACHTUNG Weil diese Dateien je nach Zustand der Systemeinrichtung anders aussehen, sind diese Dateien mit der Erweiterung "-httpswitch" im Downloadpaket enthalten, sie müssen von Hand angepasst werden.

Was man anpassen muß

Safety first: von allen Dateien, die man ändert, sollten vorher Sicherungskopien angelegt werden! Wer keine anderen Änderungen in der Squid Konfiguration vorgenommen hat, kann die mitgelieferten Dateien für in /etc/squid übernehmen. Wer z.B. bereits die Änderungen nach Joachim Deckers vorgenommen hat, muß natürlich Hand anlegen.

/etc/squid.conf und /etc/squid.conf.in

Die Datei /etc/squid.conf.in wird beim Verbindungsaufbau nach /etc/squid.conf kopiert, man sollte also am besten die /etc/squid.conf.in ändern und nach /etc/squid.conf kopieren. Die Änderungen betreffen die Zugriffskontrolle, sind also im Abschnitt 7 "Zugriffskontrolle" zu machen.

Unterhalb von  acl verboten url_regex "/etc/squid/schmuddel"  fügt man ein:

acl allowed_clients src "/etc/allowed_clients.httpd"
Unterhalb von  http_access_deny verboten  fügt man ein:
http_access_deny !allowed_clients
Das ! stellt ein logisches NEIN dar, es werden also alle Clients ausgeschlossen, die nicht in /etc/allowed_clients.httpd aufgeführt sind.

/etc/sudoers

In /etc/sudoers sind Zuordnungen von Befehlen und Personen abgelegt, die mit Root-Rechten ausgeführt werden. Ähnlich wie bei der crontab gibt es auch hier einen besonderen Befehl zum Editieren: visudo. Zur Arbeitserleichterung sollte man sich vorher seinen Lieblingseditor mit export EDITOR=/usr/bin/joe einstellen.
Dort sind im oberen Teil folgende Zeilen zu ergänzen:

Cmnd_Alias HTTPSWITCH=/usr/sbin/httpswitch
und im unteren Teil:
%lehrer   ALL=PASS,HTTPSWITCH
Damit haben alle Lehrer das Recht, die Raumabschaltung zu veranlassen.


/home/www/admin2/admin1.cgi

In dieser Datei ist das abgelegt, was man im unteren Teil des Browserfensters vom OnlineInterface sieht. Hier kann man unter der letzten </tr> Anweisung eine weitere Tabellenzeile mit dem Link auf netswitch.cgi unterbringen.

  <tr>
  <td align=center colspan=2>
    <font color="#800000"> nur für Lehrer: -</font>
  <a href="netswitch.cgi">
  <img src="lock.gif" align=middle border=0 width=40 height=40>
  - externen Zugriff für das Subnetz sperren/freigeben
  </a>
  </td>
</tr>

Der Link kann (und sollte) natürlich auch in den anderen Dateien des Interfaces eingefügt werden:
- in /home/www/admin/admin.cgi
- in /var/apache/secure/admin/admin.cgi

Mögliche Fehlerquellen

Es gibt Hinweise darauf, dass ein Neueinlesen der Konfigurationsdatei von Squid unter Last dazu führen kann, dass gestartete, aber noch nicht beendete Kind-Prozesse von Squid sich im Speicher festfressen. Bei mir in der Schule läft Arktur mit einer Aktualisierung der Squid-Konfig per cronjob alle 5 Minuten (siehe s-squid.htm) ohne solche Probleme

Das Downloadpaket

Die Dateien im Downloadpaket sind in relativen Pfaden gepackt, man kann sie also zum Nachschauen erstmal in /tmp oder sonstwo entpacken. Das richtige Einspielen geschieht dann nach einem Wechsel ins Wurzelverzeichnis (cd /) mit:
tar xzf /woauchimmer/httpswitch.tgz

Das Download-Archiv httpswitch.tgz, Größe 7738

Pfeil_nach_oben Nach oben

© Thomas Litsch, zuletzt aktualisiert 01.05.2001, Email: thomas.litsch@linux-schule.de