Comment utiliser WPAD (Web Proxy Auto-Discovery Protocol) sous Windows

Configurer WPAD (Web Proxy Auto-Discovery) peut vite devenir un casse-tête si vous n’êtes pas familiarisé avec son fonctionnement. Il arrive que les navigateurs ou les systèmes refusent tout simplement de détecter le fichier PAC (Proxy Auto-Configuration), ou que le réseau ne le trouve pas correctement, surtout si les paramètres DNS ou DHCP sont incorrects. C’est le genre de problème qui se résume à « ça devrait marcher, mais ça ne marche pas ».Voici donc un guide plus concret de la création et du déploiement d’une configuration WPAD, basé sur mon expérience et son fonctionnement sur des réseaux réels.

Pour configurer WPAD, deux éléments principaux sont à prendre en compte : la création du fichier PAC (wpad.dat) et sa configuration pour que les clients puissent le trouver via DNS ou DHCP. Il est crucial de placer le fichier PAC sur un serveur web et de configurer correctement les enregistrements DNS ou DHCP ; sinon, vos navigateurs chercheront au mauvais endroit ou ne le trouveront jamais. Une fois cette configuration effectuée, la détection automatique dans les navigateurs (ou les paramètres proxy du système) leur permettra d’utiliser le fichier PAC automatiquement, vous évitant ainsi des manipulations manuelles sur chaque appareil. Bien sûr, dans certaines configurations, il se peut que la configuration ne fonctionne pas du premier coup (par exemple, une entrée DNS incorrecte ou un serveur bloquant l’accès à wpad.dat), mais une fois la configuration terminée, tout fonctionne généralement sans problème. Si ce n’est pas le cas, il est conseillé de vérifier la résolution DNS ou les règles de pare-feu bloquant l’accès à votre fichier PAC.

Comment résoudre les problèmes de reconnaissance et de déploiement WPAD sur votre réseau

Créez le fichier PAC (wpad.dat) avec les règles appropriées

C’est là que les choses sérieuses commencent. Vous avez besoin d’un fichier wpad.dat hébergé à un emplacement accessible, de préférence sur un serveur web interne avec un type MIME approprié. Le fichier PAC est simplement une fonction JavaScript appelée FindProxyForURL qui indique au client s’il doit utiliser un proxy ou accéder directement à l’URL. Voici un exemple simple que vous pouvez adapter :

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"; } 

Pourquoi s’embêter avec ça ? Parce que c’est la logique qui gère le trafic : certains sites y accèdent directement, d’autres via un proxy, et d’autres encore sont bloqués selon des règles spécifiques. En pratique, j’ai déjà vu des fichiers PAC dépasser la limite de 1 Mo de Windows (car, évidemment, Windows complique inutilement les choses), alors il vaut mieux les garder légers.

Une fois le fichier obtenu, téléchargez-le sur un serveur web : IIS sous Windows, un serveur Linux utilisant nginx, Apache, ou même un simple serveur HTTP PowerShell (comme Start-HTTP-Server dans certains cas).Assurez-vous simplement que le type MIME du serveur est correctement configuré application/x-ns-proxy-autoconfig. Sous IIS, cela implique d’accéder aux types MIME et d’ajouter un nouveau type pour l’extension.dat.

Configurez le DNS ou le DHCP pour que les clients trouvent le PAC

Cela pose sans doute souvent problème, car on se dit : « Ça devrait fonctionner tout simplement, non ? » Parfois. Mais généralement, il faut indiquer explicitement au réseau comment les clients découvrent le fichier wpad.dat.

  • Si vous utilisez DHCP (comme Windows Server), vous pouvez configurer l’option 252 (WPAD).Ouvrez dhcpmgmt.msc, trouvez votre étendue, puis ajoutez une nouvelle option avec les informations suivantes :
    • Nom de l’option : WPAD
    • Type de données : Chaîne de caractères
    • Code : 252

    Définissez ensuite la valeur sur l’URL de votre fichier wpad.dat, par exemple : http://wpad.votredomaine.com/wpad.dat. Assurez-vous que ce nom DNS pointe vers l’emplacement où vous avez hébergé le fichier PAC.

  • Si vous préférez utiliser le DNS, créez un enregistrement A nommé wpad pointant vers votre serveur web. Pour le DNS Active Directory, vous pouvez exécuter : Add-DnsServerResourceRecordA -Name wpad -IPv4Address 192.168.1.50 -ZoneName yourdomain.local

Attention : le DNS Windows bloque parfois par défaut les noms wpad ou isatap. Vous pouvez vérifier cela dnscmd yourdnsserver /info /globalqueryblocklist et le modifier si nécessaire.

Configurer les navigateurs pour utiliser WPAD

Voici le point important : la plupart des navigateurs sont configurés par défaut pour la détection automatique des réseaux sous Windows/macOS, mais il est préférable de vérifier. Dans Internet Explorer ou Edge, accédez à Outils > Options Internet > Connexions > Paramètres réseau local et cochez « Détecter automatiquement les paramètres ». Procédez de même avec Chrome et les autres navigateurs basés sur Chromium, qui utilisent les paramètres proxy du système ou la détection DNS.

Sous Windows, vous pouvez configurer ce paramètre de manière centralisée via la stratégie de groupe si vous gérez de nombreux appareils. Accédez à Configuration utilisateur > Préférences > Paramètres du Panneau de configuration > Paramètres Internet et activez l’option Détecter automatiquement les paramètres.

Une fois cette configuration effectuée, le navigateur recherchera le fichier wpad dans le DNS ou le DHCP. S’il le trouve, il le téléchargera wpad.dat, exécutera le code JavaScript et appliquera les règles.

Pour vérifier son bon fonctionnement, ouvrez Chrome ou Edge, chrome://net-export/cliquez sur « Démarrer l’enregistrement sur le disque », naviguez, puis arrêtez. Consultez le journal JSON ; si vous voyez "pac_url":"http://wpad/une entrée similaire, tout est en ordre. Sur certaines configurations, LLMNR ou NetBIOS peuvent interférer ; il est donc conseillé de vérifier que ces protocoles sont activés si votre DNS ne résout pas le problème.

Vous souhaitez désactiver WPAD pour une raison quelconque ? Il suffit d’ajouter une valeur DWORD dans le registre, nommée DisableWpad, avec la valeur 1 à l’ emplacement suivant : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp.

En général, la configuration de WPAD et d’un fichier PAC est assez délicate, mais une fois en place, elle simplifie considérablement la gestion des règles de proxy. De plus, vous pouvez même inclure des règles de filtrage ou de blocage de contenu si nécessaire. Flexible et multiplateforme, WPAD vous épargne de nombreuses configurations manuelles de proxy.

Résumé

  • J’ai créé un fichier wpad.dat simple avec des règles adaptées à votre réseau.
  • J’ai placé le fichier PAC sur un serveur web avec le type MIME correct.
  • Configurer le DNS ou le DHCP pour annoncer l’emplacement du PAC
  • J’ai activé la détection automatique du navigateur pour qu’il puisse récupérer le fichier PAC.
  • Connexion testée avec net-export ou les journaux du navigateur

Conclure

Configurer WPAD correctement a nécessité quelques tâtonnements, notamment concernant les enregistrements DNS et les permissions sur le serveur web. Honnêtement, une fois le DNS correctement configuré et le fichier PAC accessible, tout s’est mis en place du premier coup. C’est le genre de solution « prête à l’emploi », mais y parvenir ? Un vrai casse-tête ! J’espère que ce guide évitera quelques désagréments à certains, ou du moins expliquera pourquoi ça ne fonctionne pas comme par magie dès l’installation.