next up previous contents index
Nächste Seite: Konfiguration von SSH Aufwärts: Konfiguration des Betriebsystems Vorherige Seite: Konfiguration des Webserver   Inhalt   Index


Konfiguration des HTTP-Proxy

Um den internen Maschinen im LAN die Nutzung des WWW zu ermöglichen, wird auf dem Bastion Host zur Performance-Verbesserung ein HTTP-Proxy-Server installiert. Als Proxy-Server kommt der Squid-Server in der Version 2.2 zum Einsatz. Squid kann im Internet unter http://squid.nlanr.net/Versions/v2/2.2/ heruntergeladen werden.
Der Squid-Proxy beherrscht folgende Protokolle:

Der Squid-Server wird so konfiguriert, daß er auf einem TCP-Port $>$1023 auf HTTP-Anfragen wartet. Durch die Verwendung eines unprivilegierten Ports muß der Server nicht als root laufen. Zur einfacheren Administration empfiehlt es sich einen eigenen ,,Squid``-User in /etc/passwd und eine ,,Squid``-Gruppe in /etc/groups anzulegen. Der Proxy wird dann unter der Userid ,,squid`` gestartet.

Als TCP-Port, auf dem der Squid-Server auf Verbindungsanfragen wartet, wird 8080 gewählt. Damit die Clients den Proxy nutzen können, muß man sie entsprechend konfigurieren. Die HTTP-Clients, Netscape und MS-Internet-Explorer können entweder manuell zur Benutzung eines Proxy-Servers konfiguriert werden oder automatisch durch ein Java-Skript. Ich habe ein Java-Skript geschrieben, das die Clients entsprechend konfiguriert. Das Skript muß auf einem Webserver eingerichtet werden. Zur automatischen Proxykonfiguration des Webbrowsers muß die URL, unter der das Skript zu erreichen ist, als ,,Konfigurationsadresse`` im Browser eingetragen werden. Abbildung 4.6 zeigt, wie man beim Netscape Communicator die automatische Proxykonfiguration einstellt.

Abbildung 4.6: Automatische Proxykonfiguration beim Netscape Communicator
\includegraphics[width=8cm]{/home/klaus/.html-data/graphiken/proxy.eps}

Java-Skript zur automatischen Proxykonfiguration von Web-Clients:

 
     function AutomaticProxyConf(url, host)
     {
     if (isInNet(host, "127.0.0.0",    "255.0.0.0")     ||
         isInNet(host, "10.0.0.0",     "255.0.0.0")     ||
         isInNet(host, "172.16.0.0",   "255.240.0.0")   ||
         isInNet(host, "192.168.0.0",  "255.255.0.0")    )
      return "DIRECT";
     else
      if (url.substring(0, 5) == "http:"   ||
          url.substring(0, 4) == "ftp:"    ||
          url.substring(0, 7) == "gopher:" ||
          url.substring(0, 5) == "wais:") {
        return "PROXY proxy.domain.de:8080";
      } else {
            return "DIRECT";
           }
     }

Die IP-Adressen und der Hostname des Proxy-Servers inclusive TCP-Port in dem Skript sind nur Beispiele für mögliche Einträge. Um das Java-Skript in der Praxis einsetzen zu können, müssen diese Einträge entsprechend den tatsächlichen Gegebenheiten gesetzt werden.
Der Squid-Proxy-Server besitzt die Möglichkeit, durch Access Listen den Zugriff auf bestimmte Webseiten, Domains oder Protokolle zu kontrolieren. Weitere Informationen zu Squid sind auf der Squid-Homepage unter http://squid.nlanr.net/ zu finden.
Damit der Proxy-Server automatisch beim Booten des Betriebssytems gestartet wird, habe ich ein entsprechendes Shell-Skript geschrieben. Vor dem ersten Start muß squid mit der Option ,,-z`` aufgerufen werden. Squid legt dabei die ,,cache-`` und ,,swap-``Directories an und beendet sich wieder. Erst nach diesem letzten Konfigurationsschritt kann der Squid-Server seinen Dienst aufnehmen.


next up previous contents index
Nächste Seite: Konfiguration von SSH Aufwärts: Konfiguration des Betriebsystems Vorherige Seite: Konfiguration des Webserver   Inhalt   Index
Klaus Bauer 1999-10-20