So verwenden Sie WPAD (Web Proxy Auto-Discovery Protocol) unter Windows

Die Einrichtung von WPAD (Web Proxy Auto-Discovery) kann ziemlich nervig sein, wenn man damit nicht vertraut ist. Manchmal weigern sich Browser oder Systeme einfach, die PAC-Datei (Proxy Auto-Configuration) zu erkennen, oder das Netzwerk findet sie nicht richtig – insbesondere, wenn die DNS- oder DHCP-Einstellungen nicht optimal sind. Es ist so ein Fall von „eigentlich sollte es funktionieren, aber dann tut es das nicht“.Deshalb folgt hier eine praxisnahe Anleitung zur Erstellung und Bereitstellung von WPAD, basierend auf meinen eigenen Erfahrungen und wie ich es in realen Netzwerken erfolgreich umgesetzt habe.

Wenn Sie WPAD einrichten möchten, kommt es im Wesentlichen auf zwei Dinge an: die Erstellung der PAC-Datei (wpad.dat) und die Sicherstellung, dass Clients diese per DNS oder DHCP finden können. Es ist entscheidend, die PAC-Datei auf einem Webserver abzulegen und die DNS- oder DHCP-Einträge korrekt zu konfigurieren – andernfalls suchen Ihre Browser entweder am falschen Ort oder finden die Datei gar nicht. Sobald dies eingerichtet ist, können Sie die Browser (oder die System-Proxy-Einstellungen) so konfigurieren, dass sie die PAC-Datei automatisch erkennen und verwenden. So sparen Sie sich die manuelle Konfiguration jedes einzelnen Geräts. Natürlich kann es vorkommen, dass es auf Anhieb nicht funktioniert – beispielsweise, wenn ein DNS-Eintrag nicht korrekt aufgelöst wird oder ein Server den Zugriff auf wpad.dat blockiert. Sobald jedoch alles eingerichtet ist, funktioniert es in der Regel problemlos. Sollte es dennoch Probleme geben, überprüfen Sie die DNS-Namensauflösung oder Firewall-Regeln, die den Zugriff auf Ihre PAC-Datei blockieren.

So beheben Sie Probleme mit der WPAD-Erkennung und -Bereitstellung in Ihrem Netzwerk

Erstellen Sie die PAC-Datei (wpad.dat) mit den entsprechenden Regeln.

Hier kommt es auf die praktische Umsetzung an. Sie benötigen eine wpad.dat- Datei, die an einem zugänglichen Ort gehostet werden muss – idealerweise auf einem internen Webserver mit dem passenden MIME-Typ. Die PAC-Datei ist lediglich eine JavaScript-Funktion namens FindProxyForURL, die dem Client mitteilt, wann er einen Proxy verwenden oder direkt zugreifen soll. Hier ist ein einfaches Beispiel, das Sie anpassen können:

function FindProxyForURL(url, host) { if (shExpMatch(host, "127.0.0.1") || shExpMatch(host, "localhost")) { return "DIRECT"; } if (isInNet(host, "192.168.0.0", "255.255.255.0")) { return "DIRECT"; } if (dnsDomainIs(host, "*.internaldomain.com")) { return "DIRECT"; } if ( shExpMatch(url, "http://*.ads.com") || shExpMatch(url, "https://*.ads.com") ) { return "PROXY adblockproxy:8080"; } // Default proxy for everything else return "PROXY proxy.yournetwork.com:3128"; } 

Warum der ganze Aufwand? Weil diese Logik den Datenverkehr steuert – manche Seiten sind direkt erreichbar, andere laufen über einen Proxy oder werden aufgrund von Regeln blockiert. In der Praxis habe ich schon erlebt, dass PAC-Dateien die 1-MB-Grenze von Windows deutlich überschritten haben (Windows macht es einem natürlich unnötig schwer), daher sollte man sie möglichst klein halten.

Sobald Sie die Datei haben, laden Sie sie auf einen Webserver hoch – beispielsweise auf IIS unter Windows oder auf einen Linux-Rechner mit nginx, Apache oder sogar auf einen einfachen PowerShell-HTTP-Server (in manchen Fällen funktioniert beispielsweise Start-HTTP-Server ).Stellen Sie sicher, dass der MIME-Typ des Servers auf „.dat“ eingestellt ist application/x-ns-proxy-autoconfig. Unter IIS bedeutet dies, in den MIME-Typen einen neuen Typ für .dat-Dateien hinzuzufügen.

Konfigurieren Sie DNS oder DHCP so, dass Clients den PAC finden.

Das verwirrt wahrscheinlich viele Leute ständig, weil sie denken: „Hey, müsste das nicht einfach funktionieren?“ Manchmal schon. Normalerweise muss man dem Netzwerk aber explizit mitteilen, wie Clients die wpad.dat-Datei finden.

  • Wenn Sie DHCP verwenden (wie z. B.Windows Server), können Sie Option 252 (WPAD) festlegen.Öffnen Sie dhcpmgmt.msc, suchen Sie Ihren Bereich und fügen Sie dann eine neue Option mit folgenden Details hinzu:
    • Optionsname: WPAD
    • Datentyp: Zeichenkette
    • Code: 252

    Setzen Sie den Wert auf die URL Ihrer wpad.dat-Datei, z. B.http://wpad.yourdomain.com/wpad.dat. Stellen Sie sicher, dass dieser DNS-Name auf den Speicherort der PAC-Datei verweist.

  • Wenn Sie lieber mit DNS arbeiten, erstellen Sie einen A-Eintrag namens „wpad“, der auf Ihren Webserver verweist. Für Active Directory DNS könnten Sie beispielsweise folgenden Befehl ausführen: Add-DnsServerResourceRecordA -Name wpad -IPv4Address 192.168.1.50 -ZoneName yourdomain.local

Hinweis: Windows DNS blockiert manchmal standardmäßig wpad- oder isatapdnscmd yourdnsserver /info /globalqueryblocklist -Namen. Sie können dies überprüfen und gegebenenfalls anpassen.

Browser für die Verwendung von WPAD konfigurieren

Folgendes ist wichtig: Die meisten Browser verwenden unter Windows/macOS standardmäßig die automatische Erkennung, aber Sie sollten dies sicherheitshalber überprüfen. Gehen Sie in Internet Explorer oder Edge zu Extras > Internetoptionen > Verbindungen > LAN-Einstellungen und aktivieren Sie die Option „Einstellungen automatisch erkennen“. Dasselbe gilt für Chrome und andere Chromium-basierte Browser, die auf System-Proxy-Einstellungen oder DNS-Auflösung zurückgreifen.

Unter Windows können Sie dies zentral über Gruppenrichtlinien festlegen, wenn Sie viele Geräte verwalten. Gehen Sie zu Benutzerkonfiguration > Einstellungen > Systemsteuerung > Interneteinstellungen und aktivieren Sie die Option „Einstellungen automatisch erkennen“.

Sobald dies konfiguriert ist, sucht der Browser im DNS oder DHCP nach wpad. Wird es gefunden, lädt er die wpad.datDatei herunter, führt das JavaScript aus und wendet die Regeln an.

Um zu überprüfen, ob es funktioniert, öffnen Sie in Chrome oder Edge die Browsereinstellungen chrome://net-export/, klicken Sie auf „Protokollierung auf Festplatte starten“, surfen Sie ein wenig und beenden Sie die Protokollierung anschließend.Überprüfen Sie das JSON-Protokoll. Wenn Sie dort „“ oder Ähnliches sehen "pac_url":"http://wpad/, ist alles eingerichtet. Bei manchen Konfigurationen können LLMNR oder NetBIOS Störungen verursachen.Überprüfen Sie daher, ob diese Protokolle aktiviert sind, falls Ihr DNS nicht weiterhilft.

Möchten Sie WPAD aus irgendeinem Grund deaktivieren? Fügen Sie einfach einen DWORD-Wert „ DisableWpad“ mit dem Wert 1 unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp hinzu.

Die Konfiguration von WPAD und einer PAC-Datei ist im Allgemeinen etwas knifflig, aber sobald sie eingerichtet ist, vereinfacht sie die Verwaltung von Proxy-Regeln enorm. Zusätzlich lassen sich bei Bedarf auch Inhaltsfilter- oder Blockierungsregeln hinzufügen. WPAD ist flexibel, plattformübergreifend und erspart Ihnen viel manuellen Proxy-Einstellungsaufwand.

Zusammenfassung

  • Ich habe eine einfache wpad.dat-Datei mit Regeln erstellt, die zu Ihrem Netzwerk passen.
  • Die PAC-Datei wurde mit dem korrekten MIME-Typ auf einem Webserver abgelegt.
  • DNS oder DHCP so konfiguriert, dass der PAC-Standort bekanntgegeben wird
  • Die automatische Browsererkennung zum Abrufen der PAC-Datei wurde aktiviert.
  • Verbindung mit net-export oder Browserprotokollen getestet

Zusammenfassung

Die korrekte Einrichtung von WPAD erforderte einiges an Ausprobieren, insbesondere im Hinblick auf DNS-Einträge und Berechtigungen auf dem Webserver. Ehrlich gesagt, sobald die DNS-Einstellungen korrekt waren und die PAC-Datei zugänglich war, lief alles wie am Schnürchen. Es ist eine dieser Lösungen, die man einmal einrichtet und dann vergisst, aber bis dahin? Ziemlich mühsam. Hoffentlich erspart dies dem einen oder anderen den Ärger oder erklärt zumindest, warum es nicht einfach so funktioniert.