ProxyScript

Aus IpcopWiki

Wechseln zu: Navigation, Suche

In einigen Firmen ist der Einsatz von [WPAD] entweder nicht möglich oder nicht erwünscht. Möchte man aber auch keinen festen Proxy-Eintrag vorgeben, welcher unter Umständen dann geändert werden muss, so kann man auch auf ein ProxyScript verweisen. Der Vorteil eines solchen Scriptes liegt darin, dass es

  • einfach austauschbar ist
  • Alle Clients (bzw. Browser) nur eine Konfiguration benötigen
  • das Script wesentlich flexibler, weil 'programmierbar' ist
  • durch das Script Ziel- oder Quellsysteme nach bestimmten Mustern wahlweise mit oder ohne Proxy nutzen kann, ohne dass Neustarts notwendig sind

Dazu sind mehrere kleine Punkte notwendig.

Inhaltsverzeichnis

Vorrausetzung

auf dem Client

Das jeweilige Programm muss proxyfähig sein und die Möglichkeit haben, ein Proxyscript zu nutzen. Dieses wird dann in dem Programm eingetragen. Entfällt die Nutzung des Proxyscriptes (einige Programme können diese Scripte nicht verarbeiten), so muss der Proxy manuell eingetragen werden. Entfällt auch diese Möglichkeit, so muss ein dafür anderer Weg im IPCop eingerichtet werden.

auf dem IPCop

keine, alle notwendigen Vorraussetzungen erfüllt der Cop schon.

Einstellungen

DNS (optional)

Ist ein DNS-Server im Netzwerk, so sollte ein Eintrag namens 'ipcop' auf die grüne IP-Adresse des Cops erstellt werden.

am IPCop

Die Datei /etc/httpd/conf/httpd.conf wird um folgende Punkte ergänzt

  • Suche nach den Listen-Ports und Anfügen einer Zeile namens
Listen 8000
  • Suche nach den VirtualHost-Eintägen und Anfügen eines weiteren VirtualHost
<VirtualHost _default_:8000>
  DocumentRoot /home/httpd
  AddType application/x-ns-proxy-autoconfig .html
</VirtualHost>
  • Erstellen einer index.html im Verzeichnis /home/httpd
  • Entweder IPCop neustarten oder folgenden Befehl eingeben
killall httpd && /usr/sbin/httpd -DSSL

am Client

Am Client muss im Browser in dessen Interneteinstellungen mitgeteilt werden, dass das Script über das Protokoll http, dem IPCop-Server und dem Port 8000 erreichbar ist.

http://ipcop:8000


Der dazugehörige Reg-Eintrag (für lauf-faule Administratoren) lautet

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"AutoConfigURL"="http://iproxy:8000"

das Script

Der Inhalt des Scriptes kann natürlich variiert werden...

function FindProxyForURL(url,host)
{
      var ip = myIpAddress();
       // Direct connections to non-FQDN hosts
       if (isPlainHostName(host)) {
           return "DIRECT";
       }



       // Direct connections to local subnets
       // dont use IsInNet here because this would cause resolver lookups
       if (shExpMatch(host,"192.168.100.*")) {
               return "DIRECT";
       }


       if (isInNet(myIpAddress(), "192.168.100.0", "255.255.255.0")) {
         return "PROXY ipcop:800";
       }
}

Nachteil

Wird der vorhandene Webserver auf dem IPCop genutzt, kann es bei Sicherheitsupdates dazu kommen, dass diese Möglichkeit nicht mehr funktioniert... Bisher (seit IPCop 1.4.4) ist dieses Problem jedoch bei mir noch nicht aufgetreten...

Persönliche Werkzeuge