Verwendung von WPAD (Web Proxy Auto-Discovery Protocol) unter Windows

Admin

Der WPAD Mit dem Protokoll (Web Proxy Auto-Discovery) können Sie die Proxy-Einstellungen auf den Clients in Ihrem Netzwerk einfach konfigurieren. Die Idee hinter WPAD ist, dass ein Client DHCP und/oder DNS verwenden kann, um einen Webserver in Ihrem Netzwerk zu finden, der über eine PAC-Konfigurationsdatei mit Proxy-Einstellungen verfügt (http://yourdomain/wpad.dat).

Inhalt:

  • Proxy-Auto-Discovery-Datei erstellen (wpad.dat)
  • Konfigurieren von WPAD-Einträgen in DHCP oder DNS
  • So konfigurieren Sie Browser für WPAD

Proxy-Auto-Discovery-Datei erstellen (wpad.dat)

Ein besonderer PAC Die Datei (Proxy Auto Configuration) beschreibt die Regeln für die Verwendung eines Proxys. Der vordefinierte Name der PAC-Datei lautet wpad.dat. Diese Datei enthält Regeln, die bestimmen, ob der Client beim Herstellen einer Verbindung zu einer bestimmten Ressource (HTTP, HTTPS oder FTP) einen Proxyserver verwenden oder direkt darauf zugreifen muss.

In der Datei wpad.dat wird Javascript-Syntax verwendet. Sie können eine Standard-Proxy-Server-Adresse sowie verschiedene Ausnahmen und Regeln festlegen, wann ein Client einen Proxy für Verbindungen verwenden soll (oder nicht).

Schauen wir uns ein einfaches Beispiel der wpad.dat-Syntax an:

function FindProxyForURL(url, host)
{ if (shExpMatch(host, "127.0.0.1" )) {return "DIRECT";} if (shExpMatch(host, "*/localhost*" )) {return "DIRECT";} if (isInNet(host, "192.0.0.0", "255.0.0.0")) {return "DIRECT";} if (isInNet(host, "10.0.0.0", "255.0.0.0")) {return "DIRECT";} // Dedicated proxy for a specific IP network if (isInNet(myIpAddress(), "172.15.1.0", "255.255.255.0")) {return "PROXY prx2.woshub.com: 8080";} if (dnsDomainIs(host, "*.corp.woshub.com")) {return "DIRECT";} // Local addresses to be accessed directly if ( shExpMatch(url,"http://*.woshub.com") || shExpMatch(url,"https://*.woshub.com") || shExpMatch(url,"ftp://*.woshub.com") ) return "DIRECT"; // If the URL does not contain dots in the address, the client should access it directly. if (isPlainHostName(host)) {return "DIRECT";} if (shExpMatch(host,"bank.example.com")) {return "DIRECT";} // Use a separate proxy server to access a specific wildcard domain if (shExpMatch(url,"*.microsoft.com*")){return "PROXY prx2.woshub.com: 8080";} //a default proxy server address return "PROXY proxy.woshub.com: 3128"; }
Wpad.dat – Proxy-Auto-Configuration-Dateisyntax (PAC).

Eine PAC-Datei besteht normalerweise aus einer einzigen FindProxyForURL Funktion, die die Proxy-Adresse basierend auf der angeforderten URL an den Client zurückgibt. In diesem Fall ist die Rückgabe „DIREKTEDie Direktive gibt an, dass für den Zugriff auf diese IP-Adressen und Domänen eine direkte Verbindung (ohne Proxy) verwendet werden sollte. Wenn die Website, auf die ein Client zugreift, keiner der Regeln in der WPAD-Datei entspricht, wird der Standard-Proxyserver (PROXY proxy.woshub.com: 3128) wird für den Zugriff verwendet.

Sie können jeden der gängigen Proxyserver verwenden, z Tintenfisch oder 3proxy.

Sie können die PAC-Datei als einfaches Mittel zur Inhaltsfilterung verwenden, um den Zugriff auf bestimmte Websites zu verweigern oder den Zugriff auf Domains mit Werbung zu verhindern.

proxy_empty = "PROXY 127.0.0.1:3128"; // a link to an non-existing proxy
if ( shExpMatch(url,"*://twitter.com/*")) { return proxy_empty; }
if ( shExpMatch(url,"*://spam.*")) { return proxy_empty; }
if ( shExpMatch(url,"*doubleclick.net/*")) { return proxy_empty; }

Verschiedene Betriebssystemversionen haben Einschränkungen hinsichtlich der maximalen Größe der PAC-Datei. Unter Windows sollte die Größe der Datei wpad.dat 1 MB nicht überschreiten.

Legen Sie wpad.dat auf einem HTTP-Webserver in Ihrem lokalen Netzwerk ab und ermöglichen Sie allen Benutzern, es zu lesen. Sie können eine Linux-basierte (Nginx, Apache, Lighttpd) oder Windows-basierte (IIS oder a einfacher HTTP-Server basierend auf PowerShell) Webserver.

In diesem Beispiel werde ich wpad.dat auf einem IIS-Webserver auf einem Domänencontroller veröffentlichen. Kopieren wpad.dat Zu C:\inetpub\wwwroot.

Wenn sich in Ihrem Netzwerk Nicht-Domänen-Clients befinden, erteilen Sie IUSR und IIS APPPOOL\DefaultAppPool schreibgeschützte Berechtigungen für den IIS-Ordner.

Öffnen Sie den IIS-Manager (inetmgr), wählen MIME-Typen in den IIS-Website-Einstellungen und fügen Sie einen neuen Typ hinzu:

  • Dateinamenerweiterung: .dat
  • Mime Typ: application/x-ns-proxy-autoconfig
wpad.dat auf dem IIS-Webserver

Starten Sie IIS neu.

Konfigurieren von WPAD-Einträgen in DHCP oder DNS

Jetzt müssen Sie DHCP-Server oder DNS-Einträge konfigurieren, damit Clients die PAC-Datei erkennen können.

Wenn Sie einen DHCP-Server verwenden, können Sie mit der Option eine WPAD-Adresse für Clients festlegen 252. In diesem Beispiel für DHCP, auf dem Windows Server ausgeführt wird:

  1. Öffnen Sie die DHCP-Konsole (dhcpmgmt.msc), klicken Sie auf den Abschnitt „IPv4“ und wählen Sie „ Legen Sie vordefinierte Optionen fest;
  2. Klicken Hinzufügen und fügen Sie einen Eintrag mit den folgenden Optionen hinzu:
    Name: WPAD
    Datentyp: string
    Code: 252
  3. Klicken Sie auf OK und geben Sie die Adresse Ihres WPAD-Hosts an (http://wpad.woshub.com). Fügen Sie die Option 252 WPAD auf dem DHCP-Server hinzu
  4. Öffnen Sie dann die Bereichsoptionen und aktivieren Sie die 252 WPAD Option dafür (oder konfigurieren Sie die Einstellung im Serveroptionen Abschnitt). Konfigurieren der WPAD-Adresse auf DHCP (Option 252)

Erstellen Sie dann A- oder CNAME-DNS-Einträge für wpad Namen in Ihrer Domain.

Wenn Sie Active Directory verwenden, beachten Sie, dass der Microsoft DNS-Server standardmäßig die Verwendung von blockiert wpad Und isatap Namen. Sie können dies überprüfen, indem Sie den folgenden Befehl ausführen:

dnscmd mun-dc02 /info /globalqueryblocklist

Entfernen von WPAD aus der Windows-DNS-Blockierliste

Um die Verwendung dieser Namen im DNS zuzulassen, führen Sie diesen Befehl aus:

dnscmd mun-dc02 /config /enableglobalqueryblocklist 0

Sie können die Liste löschen:

dnscmd /config /globalqueryblocklist

Und fügen Sie einen Datensatz für hinzu isatap:

dnscmd /config /globalqueryblocklist isatap

Nehmen Sie an allen DNS-Servern die gleichen Änderungen vor.

Erstellen Sie dann einen A-Datensatz mit dem Namen wpad das auf Ihren Webserver verweist, auf dem sich die WPAD-Datei befindet. Sie können einen A-Eintrag manuell im DNS-Manager erstellen (dnsmgmt.msc) oder indem Sie die verwenden Add-DnsServerResourceRecordA PowerShell-Cmdlet:

Add-DnsServerResourceRecordA -Name wpad -IPv4Address 192.168.13.10 -ZoneName woshub.loc -TimeToLive 01:00:00

Erstellen eines WPAD-Eintrags im DNS auf Windows Server AD

So konfigurieren Sie Browser für WPAD

Jetzt müssen Sie Ihre Browser so konfigurieren, dass sie beim Start automatisch eine PAC-Datei erhalten. Aktivieren Sie dazu die Automatische Erkennungseinstellungen Option (Extras > Internetoptionen > Verbindungen > LAN-Einstellungen) in den IE-Einstellungen oder in den Windows-Proxy-Einstellungen in den Einstellungen (MS-Settings-Schnell-URI-Befehl: ms-settings: network-proxy).

Windows: Aktivieren Sie WPAD mit der Option „Automatische Erkennungseinstellungen“ in den Internetoptionen

Sie können diese Option zentral über aktivieren Gruppenrichtlinie Möglichkeit Benutzerkonfiguration -> Einstellungen -> Systemsteuerungseinstellungen -> Interneteinstellungen –> Neu ->Internet Explorer 10.

Aktivieren Sie das Web Proxy Autodiscovery Protocol (WPAD) über GPO
Erfahren Sie mehr darüber Konfigurieren Sie die Proxyservereinstellungen mithilfe von GPO.

Jetzt suchen die Browser auf den Client-Geräten nach einem wpad Eintrag im DNS (oder beziehen Sie ihn von DHCP), wenn sie geladen werden. Wenn im Netzwerk ein Host mit WPAD erkannt wird, lädt ein Client die Datei herunter http://wpad.%domain%/wpad.dat, führen Sie den JavaScript-Code aus und wenden Sie die Proxyserverregeln aus der PAC-Datei an.

Beispielsweise durchsucht Windows die wpad Name zuerst im DNS, dann über Link-Local Multicast Name Resolution (LLMNR) und anschließend über NetBIOS (NBNS). Wenn Die Protokolle LLMNR und NetBIOS sind deaktiviert, wird nur die DNS-Suche verwendet.

Sie können überprüfen, ob der Browser beim Zugriff auf das Internet die PAC-Datei verwendet (für Chromium-basierte Webbrowser: Google Chrome, Opera, Microsoft Edge):

  1. Öffnen Sie einen Browser und gehen Sie zu chrome://net-export/
  2. Wählen Private Informationen entfernen und klicken Starten Sie die Protokollierung auf der Festplatte.Aktivieren Sie die Browserprotokollierung
  3. Geben Sie dann den Namen der JSON-Datei zum Speichern der Daten an.
  4. Klicken Stoppen Sie die Protokollierung;
  5. Öffnen Sie Ihre JSON-Datei in einem beliebigen Texteditor und suchen Sie nach proxySettings. In diesem Beispiel können Sie sehen, dass der Browser die Proxy-Einstellungen von wpad.dat verwendet:
    "proxySettings":{"effective":{"pac_url":"http://wpad/wpad.dat"},"original":{"auto_detect":true,"from_system":true}}
Überprüfen Sie, ob der Browser WPad verwendet

Wenn Sie die Verwendung von WPAD auf einem Windows-Computer verweigern möchten, erstellen Sie einen DWORD-Parameter namens Deaktivieren Sie Wpad mit einem Wert von 1 im Registrierungsschlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\.

Das Konfigurieren der Proxy-Einstellungen mithilfe der WPAD-Datei (PAC) bietet zusätzliche Flexibilität, die durch das Festlegen des Proxys über das Windows-Gruppenrichtlinienobjekt nicht erreicht werden kann. WPAD wird auch auf Windows, Linux, MacOS und anderen Betriebssystemen sowie mobilen Geräten unterstützt.

So passen Sie die Eingabeaufforderung in Windows 10 an
So passen Sie die Eingabeaufforderung in Windows 10 an

Viele von uns haben ihren Anfang in der DOS-Ära oder sogar noch früher, vor dem Aufkommen von gra...

Was ist Windows Audio Device Graph Isolation (und ist es sicher)
Was ist Windows Audio Device Graph Isolation (und ist es sicher)

Es gibt viele Windows-Systemprozesse mit langen, verwirrenden Namen, von der WMI-Provider-Host zu...

So blockieren Sie den Zugriff auf die Windows 10-Einstellungen und die Systemsteuerung
So blockieren Sie den Zugriff auf die Windows 10-Einstellungen und die Systemsteuerung

Wenn Sie ein Computernetzwerk betreiben, zum Beispiel in einer Schule oder in einem Unternehmen, ...