Suporte do Linux para arquivos PAC proxy

9

Meu ambiente corporativo é configurado com um proxy que bloqueia o acesso externo à Internet e requer autenticação NTLM. Endereços internos não serão roteados como proxy e devem ser acessados ​​diretamente.

Estou tentando configurar uma máquina Linux neste ambiente (que normalmente é exclusivamente Windows) e tenho ferramentas de linha de comando que precisam de acesso externo à Internet. Encontrei NTLMaps, que funcionou muito bem para autenticação no proxy - no entanto, o problema agora é quando eu configuro a variável de ambiente HTTP_PROXY do Linux, que muitos programas usam para determinar o proxy, eles sempre usam o servidor proxy. Em vez disso, preciso que eles usem conexões proxy / DIRECT com base no arquivo PAC.

A solução muito, muito manual, é limpar a variável de ambiente HTTP_PROXY quando eu quiser acessar a intranet e preenchê-la quando eu quiser acessar a Internet - mas isso é uma dor.

Alguém sabe uma maneira de fazer isso? (Configuração .pac global do Linux, etc ...)

Joe Schneider
fonte

Respostas:

11

O suporte à configuração automática de proxy no Windows parece tão "contínuo" porque é implementado pelo cliente WinHTTP, que é armazenado em uma DLL acessível a todos os aplicativos com uma API pública. Muitos aplicativos usam o WinHTTP e obtêm a configuração automática de proxy "de graça".

No mundo Linux, cada aplicativo normalmente faz suas próprias chamadas de soquete e usa sua própria implementação do protocolo HTTP. Existem bibliotecas HTTP por aí, mas é muito mais provável, em comparação com o Windows, que os aplicativos manejem o HTTP por conta própria e provavelmente não terão um interpretador Javascript necessário para processar um arquivo de configuração automática de proxy.

Você pode considerar executar um servidor proxy local na máquina Linux, especificando-se como o HTTP_PROXY em todo o sistema e depois configurar esse servidor proxy local com as regras necessárias para acessar alguns sites diretamente, em vez de usar o proxy corporativo como pai.

Lula pode fazer o que quiser, mas é bastante pesado. Acabei de encontrar este projeto tinyproxy interessante , e certamente parece promissor (permite o uso seletivo de um proxy upstream por domínio, muito leve etc.), mas nunca o usei pessoalmente e não sei nada sobre ele. (Em teoria, é possível modificar o tinyproxy para analisar o arquivo de configuração automática do proxy. Seria um truque muito interessante, embora não seja algo em que eu tenha tempo de trabalhar ...)

Evan Anderson
fonte