Suporte Linux para arquivos PAC do proxy

7

Meu ambiente corporativo é configurado com um proxy bloqueando o acesso externo à Internet e exigindo 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 o Windows) e tenho ferramentas de linha de comando que precisam de acesso externo à Internet. Eu encontrei NTLMaps que funcionou muito bem para autenticar para o proxy - no entanto, o problema agora é quando eu definir variável de ambiente HTTP_PROXY do Linux, que muitos uso do programa 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 quiser acessar a Internet - mas isso é uma dor.

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

    
por Joe Schneider 05.08.2010 / 15:03

1 resposta

10

O suporte à configuração automática de proxy no Windows parece ser "perfeito" 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 autoconfiguração de proxy "de graça".

No mundo Linux, cada aplicativo geralmente 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 lidem com 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 a execução de um servidor proxy local na máquina Linux, especificando-se como HTTP_PROXY em todo o sistema e configurando esse servidor proxy local com as regras necessárias para acessar alguns sites diretamente versus usar o proxy corporativo como pai.

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

    
por 05.08.2010 / 23:54

Tags