A rede corporativa da minha empresa exige que eu defina um proxy de rede para acessar a rede, mas quando estou em outro lugar, não preciso disso. As configurações de proxy no Ubuntu (Sistema -> Preferências -> Servidor proxy) me permitiram criar "locais" que eu posso selecionar manualmente. Então, tenho um local "padrão" (sem proxy) e um local "comercial" (com o proxy da minha empresa).
Existe uma maneira de fazer o Ubuntu selecionar automaticamente o local "trabalho" com base na conexão que estou usando? Eu pensei que poderia usar a sub-rede IP (muito específica) para detectar onde estou, mas não tenho idéia de como configurá-lo ...
Editar: Eu realmente preciso ter as configurações de proxy definidas no nível do sistema. Todas as minhas conexões de rede (IMAP, SMTP, bate-papo, etc.) precisam passar pelo proxy. Não é apenas o navegador da web.
fonte
No Ubuntu 10.10, o script .pac funciona bem. Como o Zoredache explicou, configure um servidor da Web, coloque um arquivo pac lá, abra Sistema-> Preferências-> Network Proxy e defina o "Autoconfiguration URL" no local do arquivo pac.
Exemplo de um arquivo PAC que verifica o próprio endereço IP: /var/www/selectProxy.pac:
Nas preferências de proxy de rede: o URL seria:
fonte
Como complemento à resposta do Zoredache, você pode usar um script em /etc/network/if-up.d para gerar um trecho em /etc/profile.d/ contendo suas variáveis de shell de proxy. Observe que isso funcionará apenas com novas conchas.
Além disso, esse método pode ser usado para gerar um arquivo WPAD, para o qual você pode apontar qualquer navegador compatível com isso.
fonte
Este é um post bastante antigo, mas achei isso. Dê uma olhada: http://marin.jb.free.fr/proxydriver/
Você pode instalar o pacote .deb fornecido para o Ubuntu. Este é basicamente um script de shell que altera as variáveis de ambiente quando sua rede é alterada. Você pode definir as configurações de cada rede editando os arquivos de configuração (automaticamente) criados em
/etc/proxydriver.d/
fonte
Eu tenho o mesmo problema. Generalize todas as respostas para incluir minha situação.
Eu uso meu laptop em casa sem fio: - sempre o endereço IP estático da interface eth1 (192.168.1.10)
Quando vou trabalhar, conecto-o: - sempre o endereço IP dinâmico da interface eth0 (10.10.xx.xx), e um proxy: porta 10.88.123.123, 8888
Quero que o Ubuntu defina automaticamente o endereço IP e o proxy com base na interface que estou usando.
(Eu brinquei em / etc / network / interfaces [veja "man interfaces" e /etc/resolv.conf sem sucesso.
fonte
Eu uso a abordagem de arquivos PAC e funciona bem para navegar, mas não tão bem para muitos outros aplicativos que não entendem os arquivos PAC - acho que quando um aplicativo solicita "configuração de proxy" por meio da API, eles apenas obtêm o URL do arquivo PAC de volta se você estiver usando um.
Para aplicativos de usuário que não têm suporte a proxy ou não entendem arquivos PAC (como Empathy), eu uso tsocks (porque uso um encapsulamento SSH para meu suporte a proxy).
Vincular um mecanismo JavaScript ou um analisador PAC a todos os aplicativos que suportam configurações básicas de proxy parece um exagero. Este parece ser um caso que poderia se beneficiar de algum suporte de plataforma subjacente com uma chamada de API que realmente interpreta o arquivo PAC e retorna o resultado, em vez de sua URL.
fonte
este é um post antigo neste momento, mas eu vim aqui procurando uma maneira de fazer isso e encontrei uma resposta diferente. A resposta com a qual estou trabalhando está em um pacote chamado 'whereami' e requer que você defina a sub-rede do seu trabalho no arquivo detect.conf e defina o servidor proxy no arquivo whereami.conf. Deve funcionar, e eu vou postar com todos os problemas que tenho.
Boa sorte!
fonte