Soporte de Linux para archivos proxy PAC

9

Mi entorno corporativo está configurado con un proxy que bloquea el acceso externo a Internet y requiere autenticación NTLM. Las direcciones internas no se enrutarán como proxy y se debe acceder a ellas directamente.

Estoy tratando de configurar una máquina Linux en este entorno (que normalmente es exclusivamente Windows) y tengo herramientas de línea de comandos que necesitan acceso externo a Internet. He encontrado NTLMaps que ha funcionado muy bien para la autenticación en el proxy; sin embargo, el problema ahora es cuando configuro la variable de entorno HTTP_PROXY de Linux, que muchos programas usan para determinar el proxy, siempre usan el servidor proxy. En cambio, necesito que usen conexiones proxy / DIRECTAS basadas en el archivo PAC.

La solución muy, muy manual es eliminar la variable de entorno HTTP_PROXY cuando quiero acceder a la intranet y completarla cuando quiero acceder a Internet, pero eso es una molestia.

Alguien sabe una manera de hacer esto? (Configuración global de Linux .pac, etc.)

Joe Schneider
fuente

Respuestas:

11

La compatibilidad con la configuración automática de proxy en Windows parece tan "perfecta" porque la implementa el cliente WinHTTP, que se almacena en un archivo DLL accesible para todas las aplicaciones con una API pública. Muchas aplicaciones usan WinHTTP y obtienen la configuración automática de proxy "gratis".

En el mundo de Linux, cada aplicación normalmente realiza sus propias llamadas de socket y utiliza su propia implementación del protocolo HTTP. Existen bibliotecas HTTP, pero es mucho más probable, en comparación con Windows, que las aplicaciones se encargarán de hacer HTTP por sí mismas y probablemente no tendrán un intérprete de Javascript necesario para procesar un archivo de autoconfiguración proxy.

Puede considerar ejecutar un servidor proxy local en la máquina Linux, especificándose como el sistema HTTP_PROXY en todo el sistema y luego configurando ese servidor proxy local con las reglas necesarias para acceder a algunos sitios directamente en lugar de usar el proxy corporativo como padre.

Squid podría hacer lo que quieras, pero es bastante pesado. Acabo de encontrar este interesante proyecto de tinyproxy , y ciertamente parece prometedor (permite el uso selectivo de un proxy ascendente por dominio, muy ligero, etc.), pero nunca lo he usado personalmente y no sé nada al respecto. (En teoría, uno podría modificar tinyproxy para analizar el archivo de autoconfiguración de proxy. Sería un truco muy bueno, aunque no es algo en lo que tenga tiempo de trabajar ...)

Evan Anderson
fuente