Pular para o conteúdo

Configurando proxy no shell

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.
Ricardo Brito do Nascimento rbn_jesus
Hits: 225.255 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Introdução

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Desfecho

Formatando exibição de datas no Linux

Configurando Subversion

Comando sudo - instalação e configuração

Conexão com chaves assimétricas sem uso de senha em servidor sshd

CMS Plone 4.1.6 com invólucro Virtualenv + Buildout + Mount Point + BLOB Storage + Unicode UTF-8

As melhores ferramentas de segurança pra Linux

Encapsulando BIND 9 e Apache 2 para obter maior segurança

Debian Squeeze - Instalando VirtualBox com acesso WEB via phpVirtualBox

Instalando e configurando o Nagios 3.3.1 com NDOUtils 1.4

Cheops: uma ótima ferramenta de rede

#1 Comentário enviado por FernandoBasso em 25/09/2011 - 09:39h
Eu uso o Arch Linux, e coloco a config do proxy em uma função no ~/.bashrc e em /root/.bashrc. Funciona para wget, curl, pacman, etc, mas, por exemplo, no firefox, se eu escolho "use system proxy settings" não funciona. O firefox parece não usar o proxy, e tenho que setar o proxy no próprio firefox.

O proxy 'integrado gnome 3' não adianta nada. Tanto faz configurar ou não. O mesmo acontece com o networkmanager, e o wicd nem supporte a proxy tem.

O chromium que é "Open Source" me diz isso quando tento configurar o proxy nele em meu sistem open source:

"When running Chromium under a *supported* desktop environment, the system proxy settings will be used. However, either _your system is not supported_ or there was a problem launching your system configuration."

#3 Comentário enviado por FernandoBasso em 25/09/2011 - 12:05h
Então deve ser algo do arch mesmo. Quanto a opção chromium --proxy-server eu já tinha lido, mas acho estranho o chromium, sendo open-source - e por tal motivo fortemente atrelado ao linux em geral - não usar as variáveis de ambiente.

#4 Comentário enviado por removido em 25/09/2011 - 12:09h
Esqueci de dizer que uso o OpenBox e Squid3, tanto no Debian, Arch ou Gentoo, antes de postar o comentário anterior rodei um 'tail -f' no log do squid para confirmar.

essa dica do colega já favoritei até porque no Arch Linux não configurei nem wget e pacman para rodar sob o Proxy.

[]'s
#5 Comentário enviado por FernandoBasso em 25/09/2011 - 13:19h
Eu também uso o openbox, mas carrego o gnome-settings-daemon com ele. Já tentei rodar o gnome desktop completinho, só pra ver se funcionava o proxy, mas não funcionou.

Não sei se o iptables poderia estar bloquando alguma coisa, algum pacote que vem do proxy e ele não está deixando passar, sei lá. A princípio meu iptables bloqueia tudo, exceto acesso de hosts da lan.

Contribuir com comentário

Entre na sua conta para comentar.