Existe uma maneira de definir o proxy de rede em todo o sistema?

14

Se eu quiser que os aplicativos GNOME (assim como o Firefox e o Chrome) acessem a rede por meio de um proxy, só preciso usar gnome-network-properties (uma interface gráfica simples e simples, devo dizer). Para outras aplicações (por exemplo, APT, Transmission, XChat), tenho de utilizar as suas formas específicas de o fazer.

Existe uma maneira de evitar isso, algo que eu possa ligar e desligar quando estiver em uma rede que exija um proxy (hostname: port)?

    
por Tshepang 18.03.2011 / 08:27

7 respostas

10

Acho que praticamente todos os softwares linux / unix que usam rede honrarão as variáveis de ambiente http_proxy e ftp_proxy . Dependendo de como sua distribuição está configurada, /etc/environment existirá e será lido por padrão por shell de login.

Você pode adicionar uma linha dizendo

http_proxy=123.45.67.89:1011

em /etc/environment com bastante facilidade, mas as alterações nesse arquivo só serão retidas na próxima vez que você iniciar um processo de shell - e somente nesse processo de shell. Eu não acho que você possa modificar variáveis globais em um shell que não seja o atual.

    
por 18.03.2011 / 09:27
6

Concordo que a melhor maneira de usar o servidor proxy é com a variável de ambiente http_proxy , como outras respostas apontaram. Infelizmente, nem todas as aplicações honram a variável de ambiente http_proxy, e é por isso que ainda uso tsocks para alguns programas usarem LD_PRELOAD para forçar conexões de rede para passar por um proxy SOCKS.

    
por 18.03.2011 / 13:18
3

Sim! Existem muitas maneiras de fazer as coisas. Eu fiz uma ferramenta para simplificar toda a tarefa, já que eu tive o mesmo problema.
Eles são apenas scripts de shell. Você pode fazer o download em aqui .

    
por 15.03.2016 / 16:40
3

Além de tsocks - que ainda exigem que você ative programas com o ambiente correto para funcionar - você deve verificar < um href="https://github.com/ambrop72/badvpn"> tun2socks . Com ele você configura uma interface TUN (ou seja, uma nova interface de rede, como uma VPN criaria) e todos os pacotes enviados para lá são intermediados por proxy para o seu servidor SOCKS5. Em seguida, você configura as rotas do sistema para realmente enviar o tráfego para isso. Parece uma boa abordagem.

(Eu também encontrei redsocks via este post . Isso não parece tão elegante quanto usar uma interface TUN para mim - por exemplo, ele realmente não manipula o UDP, para iniciantes. )

    
por 26.11.2014 / 22:38
2

Não há uma solução para todos. Cada programa usa seu próprio caminho para se conectar a um servidor proxy.

Eu tenho um problema semelhante no meu escritório. Descobri que a melhor maneira de fazer isso é usar uma conexão VPN. Quando você se conecta, todo o tráfego de rede do sistema passa pela VPN. Se você não tiver acesso a um servidor VPN, poderá executar um novo manualmente e conectá-lo ao servidor proxy que você possui.

Se você tem um aplicativo que não suporta proxy, pode usar algo como socksify , para envolver sua conexão de rede.

    
por 18.03.2011 / 11:58
0

Isso funcionou para mim em vi /etc/environment :

http_proxy="http://username:password@proxysrv:8080/"
https_proxy="https://username:password@proxysrv:8080/"
ftp_proxy="ftp://username:password@proxysrv:8080/"
no_proxy=".mylan.local,.domain1.com,host1,host2"

também é vi /etc/yum.conf :

proxy=http://# vi /etc/yum.conf

proxy=http://proxysrv:8080/proxysrv:8080/
    
por 16.01.2017 / 02:47
0

Eu tenho um problema semelhante, mas para mim realizar um proxy para todo o sistema estará lidando com o kernel iptables do Linux. Adicionar e remover regras de encaminhamento no iptables (endereços específicos, portas e protocolos), agindo na camada de rede, é a única maneira de garantir um proxy de todo o sistema, que não pode ser substituído por nenhuma configuração específica de aplicativo no camada de aplicação.

    
por 28.09.2018 / 21:41