Se estiver utilizando um
Linux em uma rede com proxy, faz-se necessário configurar o proxy para que o sistema possa baixar as atualizações, e alguns serviços funcionem, como dropbox, wget, svn, elinks, skype, scp, entre muitos.
O que é proxy
O servidor proxy surgiu com a necessidade de conectar uma rede local (Local Area Network), que possui endereços não roteáveis (10.0.0.0 até 10.255.255.255; 172.16.0.0 até 172.31.255.255; e 192.168.0.0 até 192.168.255.255) à Internet através de um computador da rede que compartilha a sua conexão com a WAN (World Area Network). Ou seja, considerando que a rede local é uma rede "interna" e a Internet é uma rede "externa", podemos dizer que o proxy é aquele que permite que outras máquinas da rede interna, tenham acesso a rede externa.
Geralmente as máquinas da rede interna não possuem endereços válidos na Internet e, portanto, não podem ser roteadas em uma conexão direta com a Internet. Assim, toda a solicitação de conexão de uma máquina da rede local para uma máquina da Internet é direcionada ao proxy; este, por sua vez, realiza a requisição com a web, encaminhando a solicitação para a máquina da rede local. Por este motivo, é utilizado o termo proxy para este tipo de serviço, que é geralmente traduzido como 'intermediário'. Assim, o mais comum é termos um proxy com conexão direta com a Internet, ou entre redes distintas como DMZ/ZDM (Zona Desmilitarizada).
Como identificar a configuração do serviço de proxy
O proxy em qualquer distribuição Linux é configurado através de variáveis de sistema:
- proxy https: https_proxy
- http: http_proxy
- proxy ftp: ftp_proxy
Para verificar se estas variáveis estão setadas, pode-se executar os seguintes comandos:
env
ou
export
Onde:
- O comando env exibe todas as variáveis carregadas da sessão shell;
- O comando export exibe todas as variáveis exportadas e habilitadas na sessão shell.
Se não aparecerem as variáveis, quer dizer que não há proxy configurado.
Configuração
Para definir o proxy é simples, basta configurar as variáveis com os valores desta forma:
protocolo_proxy=protocolo://FQDN:porta
Ou se for autenticado:
protocolo_proxy=protocolo://username:password@FQDN:porta
Exemplo com proxy sem autenticação:
https_proxy=http://proxy.incolume.com.br:3128
$ http_proxy=http://proxy.incolume.com.br:3128
$ ftp_proxy=http://proxy.incolume.com.br:3128
Exemplo com proxy autenticado:
https_proxy=http://username:password@proxy.incolume.com.br:8080
$ http_proxy=http://username:password@proxy.incolume.com.br:8080
$ ftp_proxy=http://username:password@proxy.incolume.com.br:8080
Se por ventura a senha(password) contiver '@', será necessário proteger sua apresentação, exemplo:
http_proxy=http://username:p\@ssword@proxy.incolume.com.br:8080
Para que a configuração de proxy esteja em vigor em todas subsessões, execute com o comando export desta forma:
export http_proxy=http://username:p\@ssword@proxy.incolume.com.br:8080
ou
export http_proxy=http://proxy.incolume.com.br:8080
ou
export http_proxy=http://username:password@proxy.incolume.com.br:8080
Entretanto tudo que foi apresentado até agora é volátil, ou seja, desaparece após o logout.
Para tornar esta configuração permanente, há duas formas:
A primeira por usuário, usando o usuário logado como exemplo, acrescente a configuração ao arquivo ~/.bashrc, ou ao arquivo ~/.bash_profile.
export https_proxy=http://proxy.incolume.com.br:3128
export http_proxy=http://proxy.incolume.com.br:3128
export ftp_proxy=http://proxy.incolume.com.br:3128
Se o proxy for autenticado, acrescente:
export https_proxy=http://username:password@proxy.incolume.com.br:3128
export http_proxy=http://username:password@proxy.incolume.com.br:3128
export ftp_proxy=http://username:password@proxy.incolume.com.br:3128
A segunda é no sistema, acrescente a configuração no arquivo /etc/profile.
export https_proxy=http://proxy.incolume.com.br:3128
export http_proxy=http://proxy.incolume.com.br:3128
export ftp_proxy=http://proxy.incolume.com.br:3128
Se o proxy for autenticado, acrescente:
export https_proxy=http://username:password@proxy.incolume.com.br:3128
export http_proxy=http://username:password@proxy.incolume.com.br:3128
export ftp_proxy=http://username:password@proxy.incolume.com.br:3128