Headline »

Android-App für das 200-Puls-Soundboard veröffentlicht

25. Januar 2012 – 17:02 |

Das 200-Puls-Soundboard hat die nächste Entwicklungsstufe erreicht!

Lesen Sie den gesamten Beitrag »
IT / Technology

Code-Schnipsel, Software, Betriebssysteme, HowTo’s & Tutorials etc.

Projekte

Eigenentwicklungen zu WordPress-Plugins, Programmen und Tools

Multimedia

Album-Rezensionen, Musik- und Film-Tipps, Tops & Flops

Wasserschildkröten

Ein Haustier-Tagebuch über zwei Schmuckschildkröten

Stuff

Der ganz persönliche Wahnsinn direkt aus dem Leben…

Home » IT / Technology

WPAD – Web Proxy Autodiscovery Protocol

Eingetragen von am 28. Juli 2008 – 01:074 Kommentare

Ich habe gerade mal wieder an meinem Netzwerk, genauer gesagt, an meiner Proxy-Konfiguration geschraubt und dachte mir, dass daraus ein hilfreicher Artikel werden könnte.

Preface:

Ich betreibe u.a. einen DHCP-Server, einen Proxy-Server und einen Webserver.
Was liegt also näher, als diese drei Dienste miteinander zu koppeln, mit dem Ziel, die Information “Proxy-Server” automatisch zu verteilen, anstatt jedem Browser und jedem System im Netzwerk manuell einen Proxy-Server einzutragen. Außerdem betreibe ich auf verschiedenen Systemen “netz-interne” Webserver, die ich direkt aufrufen möchte, ohne den Proxy zu verwenden.

Hier also die Beschreibung des Zusammenspiels:

Ich arbeite hier mit Diensten unter Linux. Das Ergebnis (die automatische Verteilung der Proxy-Konfiguration) funktioniert für Linux und Windows. Möglicherweise bzw. bestimmt funktioniert das auch für den Mac, aber ich mache hier keine Aussagen zu etwas, das ich nicht selbst getestet habe.

Ziel:

  • Verwendung eines Proxy-Servers für alle oder ausgewählte Systeme/Browser
  • Subnetz-abhängige Verwendung des Proxy-Servers

Voraussetzungen:

Wie diese Voraussetzungen geschaffen werden, ist nicht Teil dieser Anleitung. Ich gehe davon aus, dass diese Dienste eingerichtet sind und funktionieren. Mein Webserver heißt “wpad.mein.privates.netz.de” und der Proxy-Server läuft auf Port 3128 und trägt den Namen “proxy.mein.privates.netz.de”.

Erstellung der WPAD-Datei:

Diese Datei enthält einen “Fahrplan” für den Browser, damit er entscheiden kann, ob und wenn ja, welchen Proxy-Server er verwenden soll. Eine genaue Beschreibung des Aufbaus und der Funktionen einer WPAD-Datei findet sich hier.

Meine sieht folgendermaßen aus:

function FindProxyForURL(url, host)
{
if(isPlainHostName(host) || localHostOrDomainIs(host, “localhost”) ||
localHostOrDomainIs(host, “127.0.0.1″) || isInNet(host, “10.0.0.0″, “255.255.0.0″)) {
return “DIRECT”;
}else {
return “PROXY proxy.mein.privates.netz.de:3128; DIRECT”;
}
}

Das bedeutet: kein Proxy für den eigenen Rechner und kein Proxy für Webserver im eigenen Subnetz.

Diese Datei unter dem Namen “wpad.dat” (case-sensitive) auf dem Webserver abgelegt. Wichtig ist an dieser Stelle, dass die Datei direkt im Web-Root und nicht in einem Unterverzeichnis liegt

Konfiguration des DHCP-Servers:

Ich verteile den Proxy-Verweis für das gesamte Subnet, wer möchte, kann das natürlich auch anders (z.B. pro Host) machen.

Hier die Auszüge aus der /etc/dhcpd.conf:

option wpad code 252 = text;subnet 10.0.1.0 netmask 255.255.255.0 {

option wpad “http://wpad.mein.privates.netz.de/wpad.dat ”;

}

Ganz besonders wichtig ist das Leerzeichen bei der Pfadangabe “…/wpad.dat ”.

Es existiert unter Umständen das Problem, dass der Internet Explorer beim Verarbeiten des Pfades das letzte Zeichen abschneidet und so die Datei nicht mehr gefunden werden kann. Das Leerzeichen am Ende stellt also einen Workaround dar.

Da nicht alle Browser die DHCP-Optionen abfragen können, ist es sinnvoll, im Nameserver einen Host namens “wpad” anzulegen, dessen Webserver die WPAD-Datei bereitstellt. Somit können “DHCP-unfähige” Browser dennoch eine Proxy-Konfiguration beziehen, denn der Hostname “wpad” wird dabei als Standard verwendet. Leider ist es mit dieser Variante nicht möglich, für Subnetze oder gar einzelne Hosts verschiedene WPAD-Dateien anzubieten. Der gemeinsame Nenner wäre hier das Domain-Suffix des Clients.

Ich habe mittels Wireshark zwei bei mir installierte Browser überprüft:
Der Internet Explorer 7 lässt sich Lease-Informationen vom DHCP-Server geben, um dort die entsprechende WPAD-Option zu erhalten, falls gesetzt. Der Firefox 2.0.0.8 sucht nach einem Gerät mit dem Namen “wpad” im Netz. Dabei werden die auf dem lokalen PC eingetragenen DNS-Suchsuffixe nacheinander abgearbeitet.

Browser-/Systemkonfiguration:

Nun muss dem Browser / dem System nur noch beigebracht werden, dass er die Proxy-Einstellungen automatisch beziehen soll. Im Internet-Explorer wird das über das Aktivieren der Option “Automatische Suche der Einstellungen” bei “Extras -> Internetoptionen… -> Verbindungen -> LAN-Einstellungen” erledigt. Beim aktuellen Firefox geschieht das über “Einstellungen -> Erweitert -> Netzwerk -> Einstellungen (Verbindung) -> Die Proxy-Einstellungen für dieses Netzwerk automatisch erkennen”.

Nachdem DHCP-Server und Browser neu gestartet wurden, kann man nun überprüfen, ob alles wie erwartet funktioniert. Der erste Schritt wäre, eine beliebige URL aufzurufen und im Webserver-Log zu überprüfen, ob die Datei “wpad.dat” erfolgreich vom surfenden Rechner abgerufen wurde. Ist das der Fall, kann man nun anhand des Proxy-Logfiles erkennen, ob der Proxy oder eine direkte Verbindung vom Browser genutzt wird. Dazu werden einfach interne und externe URLs aufgerufen.

Wichtiger Hinweis: Wenn die WPAD-Datei nicht abgerufen werden konnte, arbeiten Mozilla, Firefox und Internet-Explorer stillschweigend mit einer direkten Verbindung.

Nachwort:

Falls jemand diese Anleitung gebrauchen kann/konnte oder einen Fehler gefunden hat, würde ich mich über ein Feedback freuen.

UPDATE:

Bei Problemen mit WPAD und RSS-Feeds könnte eventuell diese Seite helfen.

Hierzu passende Artikel:

4 Kommentare »

  • ctFreez sagt:

    leider scheinen sowohl der IE8 als auch der Firefox 3.5.* nicht nach dem DNS namen des Webservers zu fragen, sondern nach der IP.
    Somit werden nameVirtualHost ignoriert. Den Apache sollte man so konfigurieren, das bei der frage nach der IP auch der VServer mit dem WPad file zurück gegeben wird
    http://192.168.1.1/wpad.dat = http://wpad.domain.local
    dafür kann man im apache/vhosts verzeichnis der config für den VPad VServer ein ‘aaa’ vorranstellen, somit wird diese als erstes geladen damit ist das wpad-htdocs verzeichnis auch über die IP erreichbar.
    ausserdem kann es sinnvoll sein in der wpad conf vom Apache den MIME-Type für die .dat endung zu überschreiben, dies geschieht über den Parameter: “AddType application/x-ns-proxy-autoconfig .dat” in der VServer conf des Apaches.

    Ansonsten hat mir dein HowTo sehr gefallen/geholfen, danke

    Gruß Felix Brunk

  • ctFreez sagt:

    Leider kann ich auf der Seite kein Impressum finden, dies sollte dringend nachgebessert werden.

    Gruß ctFreez

  • Thomas sagt:

    Hi ctFreez,

    vielen Dank für Deine Infos, ich werde das demnächst mal ausprobieren und die Anleitung entsprechend anpassen. Mit den neuen Browsern hab ich das Ganze bisher noch nicht getestet.

    Gruß,
    Thomas

    P.S.: Stimmt, ich hab mein Impressum auch nicht mehr gefunden, bzw. gefunden schon, aber es war auf der Site nicht mehr verlinkt. Hat sich durch das neue Theme nun aber eh erledigt.

  • Sontaya sagt:

    I try to setting on Firefox: Automatic proxy configuration URL:http://192.168.1.254/wpad.pac
    Squid it work! (Authentication pop-up)

    But I choose Auto-detect proxy settings for this network
    Squid not work! (No, Authentication pop-up)

    Please help for me.

1 Pingbacks »

Schreiben Sie einen Kommentar!

Fügen sie unten ihren Kommentar hinzu, oder trackback von ihrer eigenen Seite.. Sie können außerdem Abonnieren sie diese Kommentare via RSS.

Sei nett. Halt es sauber. Bleib beim Thema. Kein Spam.

Sie können diese HTML-Tags benutzen:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Dieser Blog hat Gravatar aktiviert. Um ihren eignen Avatar zu bekommen registrieren sie sich bitte unter Gravatar.

ThumbSniper-Plugin by Thomas Schulte