1. von Valentin Haenel
    1. Web Proxy Automatic Discovery für tjener
      1. WPAD per DHCP
      2. WPAD per DNS
      3. DNS oder DHCP
      4. Welche Einstellungen?
      5. WPAD per DHCP Einstellungen
      6. WPAD per DNS
  2. von Ralf Gesellensetter
    1. Browserspezifische Einstellungen
  3. aus der user Mailingliste

von Valentin Haenel

Web Proxy Automatic Discovery für tjener

Als ich an meiner Schule angefangen habe, wurde ausdrücklich ein Linux-Server gewünscht. Nun liefen hier bereits diverse Windows Clients und ich hatte keine Lust die Proxy Einstellungen an jedem client vorzunehmen, zumal die meisten mit dem PC-Wächter von Dr. Kaiser ausgestattet sind. Bisher hatte der Lehrer Rechner die Funktion eines Routers übernommen, und alle Clients, bzw. Browser waren so eingestellt die Proxy Einstellungen für das Netzwerk automatisch zu erkennen. Somit habe ich dieses auch bei tjener so einstellen können, dass der Proxy automatisch gefunden wird. Das nennt sich WPAD oder Web Proxy Automatic Discovery.

Es gibt mehrer Möglichkeiten dies zu implementieren, 2 sind jedoch am wichtigsten. per DHCP oder per DNS.

WPAD per DHCP

So funktioniert es:

WPAD per DNS

So funktioniert es:

DNS oder DHCP

Ich schlage vor, beides zu verwenden. Angeblich bevorzugt Firefox DNS, und IE DHCP.

Welche Einstellungen?

Es werden Einstellungen im DHCP, DNS und Web Server vorgenommen. Alle diese Services sind bei tjener per default installiert und aktiviert.

WPAD per DHCP Einstellungen

in der Konfigurationsdatei des DHCP

/etc/dhcp3/dhcpd.conf

nach der Zeile:

option option-129 code 129 = text;

folgende Zeile einfügen

option wpad-url code 252 = text; 

Dieses ist ein Alias, code 252 wird an den String "wpad-url" gebunden. Um die DHCPACK erfolgreich zu verschicken, muss folgende Zeile innerhalb der group, oder des shared-network stehen, wo sich die Rechner befinden, die den Proxy per DHCP finden sollen.

option wpad-url "http://10.0.2.2/wpad.dat\n";

Die so referenzierte Datei wpad.dat wird nun erstellt. Sie enthält folgendes Konfigurationsscript:

function FindProxyForURL(url, host)  {
  if (isInNet(host, "10.0.2.0", "255.255.254.0"))
    {
     return "DIRECT";
    }
  else
    {
     return "PROXY 10.0.2.2:3128;"
    }
}

und unter dem folgenden Pfad ins Wurzelverzeichniss des Webservers gespeichert werden:

/var/www/wpad.dat

Das script besagt: wenn sich die URL im eigenen subnetz befindet (Intranet) verwende eine direkte Verbindung; andernfalls verwende den Proxy unter 10.0.2.2 port 3128. Jetzt kann man den Browser auf folgende URL richten, um zu prüfen ob das Script gefunden werden kann.

http://10.0.2.2/wpad.dat

Nach einem Neustart des DHCP-Servers

/etc/init.d/dhcp3-server restart 

sollte es eigentlich klappen. Es ist noch zu beachten, dass sowohl die Einträge in der DHCP Konfiguration als auch das Script IP-Adressen verwenden. Selbstverständlich könnte man diese auch durch Hostnamen ersetzen. Dadurch hätte man einerseits zusätzliche Flexibilität da man IPs auch ändern könnte. Andererseits entsteht eine zusätzliche Abhängigkeit vom DNS server. Ich habe mich für IPs statt Hostnamen entschieden, da mein tjener sowieso die feste Standard-IP 10.0.2.2 hat.

WPAD per DNS

Wie bei WPAD per DHCP muss das gleiche Proxy Konfigurations Script wie oben erstellt werden. Letztendlich werden nun nur noch Einstellungen am DNS-Server bind9 gemacht.

In der Datei:

/etc/bind/debian-edu/db.10

nach folgender Zeile:

2.2                             IN      PTR     tjener.intern.

die Zeile:

2.2                             IN      PTR     wpad

einfügen.

Ausserdem in der Datei:

/etc/bind/debian-edu/db.intern

nach der Zeile:

; This will often be default gw/router
gateway                         IN      A       10.0.2.2

folgende Zeile einfügen:

; WPAD DNS settings
wpad                            IN      A       10.0.2.2

So nun noch den DNS Server neu laden (/etc/init.d/bind9 reload) und den Browser auf folgende URL richten um zu prüfen obs klappt:

http://wpad/wpad.dat

Der Browser sollte nun das Proxy Konfigurationsscript anzeigen. Nun können browser unter wpad.inter/wpad.dat und unter wpad/wpad.dat das script finden.

von Ralf Gesellensetter

Browserspezifische Einstellungen

Ich konnte die Anleitung nachvollziehen. Wenn ich die Proxyeinstellungen meines Firefox auf "direkte Internetverbindung" stelle (default) wird kein Proxy verwendet. Wenn ich "automatische Proxykonfiguration" wähle, konfiguriert sich der Firefox selbstständig. Das ist schon einmal eine Erleichterung. Ist das das erwünschte Verhalten? Oder gibt es darüber hinaus so etwas wie einen transparenten Proxy? -- RalfGesellensetter 2007-03-20 07:45:54

Ja diese Möglichkeit existiert, nur war beim Sarge schwer zu installieren. Mit Etch wird das hoffentlich leichter, und wird auf einen Transparenten proxy hinauslaufen. ValentinHaenel 15-05-2007

2010-03-04 20:27:33 no IP address found for host wpad.0.10.in-addr.arpa (during SMTP connection from [10.0.2.2])
2010-03-04 20:32:33 no IP address found for host wpad.0.10.in-addr.arpa (during SMTP connection from [10.0.2.2])

Wenn aber hinter "mail" ausdrücklich der Host postoffice.intern angegeben wird, tritt diese Fehlermeldung nicht auf.

aus der user Mailingliste

On Wed, 2010-04-07 08:31:26 +0200, Alexander Schnur <alexander.schnur@education-siemens.com> wrote:
> Hallo,
>
> weiss jemand wie ich einen WPAD- Eintrag im Powerdns erstelle, um die 
> Proxydaten automatisch zu =C3=BCbergeben?
>
> Die wpad.dat liegt schon im Ordner /var/www/ .
>
> wpad.dat:
>
> function FindProxyForURL(url, host)  {
>   if (isInNet(host, "10.0.2.0", "255.255.254.0"))
>     {
>      return "DIRECT";
>     }
>   else
>     {
>      return "PROXY 10.0.2.1:3128;"
>     }
> }
>
> Bei mir ist die 10.0.2.1 Proxy.

WPAD geht in zwei Schritten vor. Zuerst wird (via DHCP) versucht, an die WPAD-Option zu kommen. (In der dhcpd.conf ist das dann (je nach Version):

option option-252 "http://wpad.domain.tld/wpad.dat";

option wpad-url code 252 =3D text; option wpad-url "http://wpad.domain.tld/wpad.dat";

oder (zu guter letzt...)

option wpad-url "http://wpad.domain.tld/wpad.dat";

Alternativ (wenn die DHCP-Methode nicht funktioniert hat oder nicht zur Verfügung steht) wird einfach, unter berücksichtigung von "do= main" und "search" der /etc/resolv.conf, der Host "wpad" gesucht, ergo versucht der Browser das Gegenstück zu:

wobei an den hostname noch die möglichen Domain-Namen angehängt werden.

Wie jetzt speziell Powerdns konfiguriert wird, weiß ich nicht; letztlich mußt Du aber nur einen A oder CNAME RR mit dem Namen "wpad" anlegen.

MfG, JBG

WPAD (last edited 2010-04-08 08:16:58 by KurtGramlich)

Alle Inhalte in diesem Wiki stehen unter der GPL.