Força o ubuntu a acessar a internet através de proxy

2

Eu configurei um proxy de encaminhamento do squid para armazenar em cache todas as solicitações da internet. Eu tenho um ip público e abri a porta 3128. Agora eu só preciso definir o meu servidor ubuntu para forçar todas as conexões de internet a passarem por este proxy, usando o endereço ip e o número da porta.

Eu conheço este comando que fará o Ubuntu acessar a internet através de um proxy, mas me disseram que não era permanente.

export http_proxy="http://proxy.example.com:8080"

Qual comando eu preciso usar para forçar o Ubuntu a passar por este proxy, independentemente de reinicializações ou sessões?

Obrigado

    
por jc.yin 19.07.2013 / 21:00

2 respostas

1

A solução proposta não pode funcionar no caso geral - ela pressupõe que tudo reconhecerá e usará a variável Environment.

Para que isso funcione para HTTP, você precisa definir um "Proxy Transparente", que geralmente requer regras nat de IPTABLES para capturar e redirecionar o tráfego. Dê uma olhada aqui para saber como fazer isso.

Fazer a mesma coisa para HTTPS é prático, mas você precisará instalar adicionalmente uma CA no SQUID e aceitá-la na caixa do Ubuntu para que ela possa interceptar o tráfego.

Isso pode não ser prático com o FTP (eu não tentei)

    
por 02.04.2017 / 06:08
0

Você tem que definir alguns configurações em /etc/environment para torná-lo permanente:

  • Open the /etc/environment file with vi (or your favorite editor). This file stores the system-wide variables initialized upon boot.
  • Add the following lines, modifying appropriately. You must duplicate in both upper-case and lower-case because (unfortunately) some programs only look for one or the other:

     http_proxy=http://myproxy.server.com:8080/
    https_proxy=http://myproxy.server.com:8080/
    ftp_proxy=http://myproxy.server.com:8080/
    no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    HTTP_PROXY=http://myproxy.server.com:8080/
    HTTPS_PROXY=http://myproxy.server.com:8080/
    FTP_PROXY=http://myproxy.server.com:8080/
    NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com" 
  • apt-get, aptitude, etc. will not obey the environment variables when used normally with sudo. So separately configure them; create a file called 95proxies in /etc/apt/apt.conf.d/, and include the following:

     Acquire::http::proxy "http://myproxy.server.com:8080/";
    Acquire::ftp::proxy "ftp://myproxy.server.com:8080/";
    Acquire::https::proxy "https://myproxy.server.com:8080/";   

Finally, logout and reboot to make sure the changes take effect.

    
por 19.07.2013 / 21:43