Mise en place de WPAD
-
WPAD est un protocole de découverte de proxy : Web Proxy Auto Discover protocol.
Principes :
Chaque navigateur doit connaitre le proxy à utiliser pour accéder à Internet.
Soit on le configure (manuellement ou automatiquement), soit on ajuste pour que le navigateur trouve tout seul le proxy.Sites de référence :
- https://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol (forcément Wikipedia ! la version française est moins complète)
- http://irp.nain-t.net/doku.php/220squid:050_wpad : Christian CALECA (forcément), un peu vieilli
- http://findproxyforurl.com/ : excellente doc, idéale pour la mise en place
Fonctionnement général :
Les navigateurs vont utiliser- soit une info DNS
- soit une info DHCP
pour trouver un serveur web qui va leur fournir un script (en javascript) qui, en fonction d'une URL, retournera soit 'proxy=http://serveur:port' soit 'direct'.
Comme tout n'est pas totalement standard,
il est à conseiller de paramétrer- le DNS et le DHCP pour fournir les 2 formats d'informations
- les 2 (ou 3) noms de script (wpad.dat, proxy.pac, wpad.da)
Enfin vous devrez faire une mini configuration des navigateurs.
Il est à conseiller de faire des tests minutieux lors de l'implantation.
Bien sur, la qualité du script conditionnera le résultat : pensez simple !Le site http://findproxyforurl.com/ donne tout les détails de mise en oeuvre.
Il est de bon ton de savoir configurer- un serveur (service) dhcp
- un serveur (service) dns
- un serveur web (iis ou apache)
- écrire un petit script javascript : partir des examples et adapter
NB : il est judicieux, en multi-site mais mono-domaine dns, de savoir donner des valeur différentes à wpad.domaine.local selon le site.
NB : le site http://findproxyforurl.com/ ne mentionne pas un petit détail : les serveurs DNS Windows (à partir de 2008) ne fournissent pas nativement wpad.domain.local (blocké). Il est alors nécessaire d'ajuster la 'globalqueryblocklist', cf https://technet.microsoft.com/fr-fr/library/cc995158.aspx
Conseils pratiques :
Démarrer par la config DNS et DHCP.
Bien vérifier qu'un simple 'nslookup wpad' donne bien l'adresse ip du serveur web que vous allez créer.
Pour le serveur web, il est nécessaire de bien configurer le mime-type pour .dat et .pac
Ecrivez votre script et tester http://wpad/wpad.dat ou proxy.pac : recevez vous bien le script ?
Ajustez votre config d'autodécouverte pour IE, Chrome, Firefox
Testez si le serveur web fournit bien les scripts (cf fichier access.log pour Apache)A la fin, on se demande comment avait on fait sans …
Merci de commentez pour des questions pratiques, et non sur le fond (parce qu'il n'y a rien à dire ici) ...
-
il y a un script php pour configurer pfSense wpad dans 2.3.x https://forum.pfsense.org/index.php?topic=113441.0
-
il y a un script php pour configurer pfSense wpad dans 2.3.x https://forum.pfsense.org/index.php?topic=113441.0
Je n'ai pas parcouru en détail le contenu de ce fil dans une langue que je ne pratique pas mais je m'interroge sr la valeur ajoutée du script.
WPAD "dans pfSense", ça consiste juste à dire au DNS et à DHCP où se trouve le serveur web qui répond à "http://wpad.mondomaine/wpad.dat"
Du coup c'est quand même assez simple ;-)- option 252 pour DHCP
- A record pour le DNS
A noter qu'il y a d'autres solutions possibles puisque le draft de RFC permet de s'appuyer, sur la partie DNS, en plus du mécanisme dit du "well known alias" sur des mécanismes de type "service locator" (SLP)
Par ailleurs, j'ai l'impression que le lien que tu donnes est utilisé pour configurer non seulement WPAD mais également proxy.pac
Ces 2 mécanismes, même si bien sûr très liés, sont néanmoins différents ;) -
J'ai créé ce fil, avec un post assez complet et pédagogique, pour bien montrer que WPAD est aisé à comprendre et à mettre en place.
Je considère qu'à partir d'une certaine taille, disons 10-15 users, la place du proxy Squid est hors du firewall.
Pour cette taille
- on créera un proxy dédié
- et on mettra en place WPAD, avec les fichiers wpad.dat et proxy.pac sur le serveur web du proxy dédié (il y a besoin d'un serveur web).
(Javier Castanon est un 'tech de support' qui développe des modules pour pfSense : très bon niveau !
Le fil qu'il cite https://forum.pfsense.org/index.php?topic=112715.msg628966#msg628966 est intéressant : on trouve le proxy.pac qu'il génère !) -
Bonjour à tous !
Je souhaiterai aussi ajouter le fait de pouvoir configurer WPAD avec GPO dans le cas d'une utilisation avec un contrôleur de domaine Windows Serveur ( peut être possible avec samba4 …)
http://www.gfi.com/support/products/gfi-webmonitor/How-to-publish-WPAD-via-GPO
A Bientôt !
-
@jdh:
…
(Javier Castanon est un 'tech de support' qui développe des modules pour pfSense : très bon niveau !
Le fil qu'il cite https://forum.pfsense.org/index.php?topic=112715.msg628966#msg628966 est intéressant : on trouve le proxy.pac qu'il génère !)Salut, jdh.
Merci beaucoup. :)
Je suis Javier, plus d'informations sur wpad, etc… et de script sur mon site.
Salutations
-
Je souhaiterai aussi ajouter le fait de pouvoir configurer WPAD avec GPO dans le cas d'une utilisation avec un contrôleur de domaine Windows Serveur ( peut être possible avec samba4 …)
Effectivement, c'est une excellente remarque : dans un environnement "Microsoft" ou assimilé (Samba) les GPO sont un bon moyen de pousser les infos de "où est le serveur du proxy.pac"
-
GPO ?
Vous oubliez (un peu) de préciser que cette 'méthode'
- ne s'adresse qu'à des PC Windows dans un domaine,
- ne concerne qu'Internet Explorer (et par effet de bord Chrome)
- ne fonctionne que pour IE 6, 7, 8 et 9
- nécessite des compléments (pas si simples) pour IE 10 et 11
- et pour finir, quid d'Edge ?
Je note que, par défaut, le réglage de proxy est
- 'Automatically detect configuration settings' : Enable
- 'Enable Automatic Configuration' : Disable
- le champ 'Proxy URL' est à blanc puisqu'il est à remplir que si 'Enable Automatic Configuration' est à Enable.
Cette config par défaut est WPAD compatible !
La méthode consiste à configurer, par GPO, l'exact inverse de la config par défaut.
Bref, sauf parc full Windows/Domaine et standard IE, je ne vois que complexité inutile dans cette méthode.
(De plus, je préconise Firefox dans mon entreprise …)
NB : par défaut, WPAD est inopérant pour Firefox qui doit passer de 'Utiliser les paramètres proxy système' à 'Détection automatique ...' (à faire sessions par sessions !) -
Oui, la remarque vaut pour un monde "full Microsoft" ce qui reste une information intéressante pour ceux qui sont dans cette situation, par choix ou par contrainte 8)
-
Je reprends : j'ai initié ce fil, à l'attention de ceux qui ne prennent pas le temps d'explorer, pour expliquer le principe, la mise en oeuvre, les bons liens pour WPAD.
Mon idée était de contester, par la démonstration, que WPAD est difficile à mettre en oeuvre : c'est, au contraire, simple mais il faut juste suivre le plan !L'objet de WPAD, comme son nom l'indique, est l'autoconfiguration du navigateur pour qu'il trouve (tout seul) le proxy.
Une fois configuré WPAD (dns et dhcp),
- il n'y a rien à faire pour Internet Explorer/Edge (PC Windows) : 'Automatic detect configuration settings' est à Enable (coché) par défaut
- il y a à faire pour Firefox : Dans Options > Avancé > Réseau > btn Paramètres : choisir 'Détection automatique' au lieu du défaut 'Utiliser les param système'
Il me semble que définir une GPO pour un réglage qui fonctionne parfaitement bien par défaut est juste du vice ! (Je fais tout par GPO ?)
(Les seules GPO que j'avais vu était la config forcée du proxy, bien inutiles vu la simplicité de mise en oeuvre de WPAD !)(Je suis désolé pour PARN dont j'ai relu ce matin tous les posts, et dont la justesse et simplicité des posts est très bonne !)
-
Hello !
Pas, de soucis ;)
J'avais juste voulu ajouter l'info sur la possibilité des GPO.
La solution de Jdh est bien plus efficace et complète que de simple GPO c'est clair !Je voulais juste mentionner un autre moyen.
A bientôt ! Et vive pfSense :)
PS : Vite une maj ! https://blog.pfsense.org/?p=2108
-
J'ajoute un peu de contenu.
Lorsqu'on utilise un WPAD on se retrouve souvent confronté à deux problèmes:
- performances à l'ouverture des pages (attention aux requêtes DNS)
- cela ne marche pas, ou pas comme on voudrait.
Je vous invite à lire ce billet: https://blogs.msdn.microsoft.com/askie/2014/02/07/optimizing-performance-with-automatic-proxyconfiguration-scripts-pac/
et aussi (et surtout) a télécharger l'outil autoprox.exe, afin de tester vos fichier WPAD. Autoprox sera capable de vous valider le fonctionnement attendu et aussi de lister les fonctions sous-jacente appeléés (telles que la résolution DNS).
Avec tout ce qui est dans le fil, vous êtes au top.
-
Merci Juve de ce lien que je connaissais pas.
Microsoft fournit une somme de lien sur WPAD (et c'est bien puisque c'est un standard).
Exemple : https://technet.microsoft.com/library/Dd361950
Toutefois, par défaut, un serveur DNS Microsoft (>=2008) ne répond pas à wpad.xxx : il faut regarder la 'globalquerylist' …WPAD souffre de défauts inhérents :
- risque de création de faux 'serveurs' WPAD : d'où réglage prudent des DNS Windows
- génération de requêtes DNS multiples et préalables lors de l'accès http à un site : petite latence (très faible).
Il est donc prudent de bien veiller à
- mettre en place WPAD sur chacun de vos sites en relation avec les DNS et DHCP locaux
- utiliser un DNS avec cache pour limiter la latence apportée par WPAD.
Autoprox.exe peut être vu comme
- outil automatique de récupération de script WPAD (option -s)
- outil d'exécution de script WPAD (standard ou détaillé avec option -h)
Cette option -h est intéressante : on voit l'exécution 'en mode debug' du script WPAD, ce qui permet de vérifier si notre script fonctionne correctement ou non.
Je plussoie.