Prise en charge Linux des fichiers proxy PAC


9

Mon environnement d'entreprise est configuré avec un proxy bloquant l'accès Internet externe et nécessitant une authentification NTLM. Les adresses internes ne seront pas acheminées par le proxy et doivent être accessibles directement.

J'essaie de configurer une machine Linux dans cet environnement (qui est normalement exclusivement Windows) et j'ai des outils de ligne de commande qui nécessitent un accès Internet externe. J'ai trouvé NTLMaps qui a très bien fonctionné pour l'authentification auprès du proxy - mais le problème est maintenant que lorsque je définis la variable d'environnement HTTP_PROXY de Linux, que de nombreux programmes utilisent pour déterminer le proxy, ils utilisent toujours le serveur proxy. Au lieu de cela, j'ai besoin d'eux pour utiliser des connexions proxy / DIRECT basées sur le fichier PAC.

La solution très, très manuelle consiste à effacer la variable d'environnement HTTP_PROXY lorsque je veux accéder à l'intranet et à la remplir lorsque je veux accéder à Internet - mais c'est pénible.

Quelqu'un sait-il comment faire cela? (Paramètre global Linux .pac, etc ...)

Réponses:


11

La prise en charge de la configuration automatique du proxy sous Windows semble si "transparente" car elle est implémentée par le client WinHTTP, qui est stockée dans une DLL accessible à toutes les applications avec une API publique. De nombreuses applications utilisent WinHTTP et obtiennent la configuration automatique du proxy "gratuitement".

Dans le monde Linux, chaque application effectue généralement ses propres appels de socket et utilise sa propre implémentation du protocole HTTP. Il existe des bibliothèques HTTP, mais il est beaucoup plus probable, par rapport à Windows, que les applications vont gérer HTTP elles-mêmes et n'auront probablement pas d'interpréteur Javascript nécessaire pour traiter un fichier de configuration automatique du proxy.

Vous pouvez envisager d'exécuter un serveur proxy local sur la machine Linux, en se spécifiant comme HTTP_PROXY à l'échelle du système, puis en configurant ce serveur proxy local avec les règles nécessaires pour accéder directement à certains sites par rapport à l'utilisation du proxy d'entreprise en tant que parent.

Squid pourrait faire ce que vous voulez, mais il est assez lourd. Je viens de trouver cet intéressant projet tinyproxy , et il semble certainement prometteur (permet une utilisation sélective d'un proxy en amont par domaine, très léger, etc.), mais je ne l'ai jamais utilisé personnellement et je n'en sais rien. (En théorie, on pourrait modifier tinyproxy pour réellement analyser le fichier de configuration automatique du proxy. Ce serait une astuce vraiment intéressante, mais ce n'est pas quelque chose sur lequel j'ai le temps de travailler ...)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.