quinta-feira, 11 de abril de 2013

Configurar acesso à internet via proxy em um servidor linux

Fala pessoal,

Uma das tarefas mais comuns em ambientes corporativos é o uso do PROXY para acesso à internet. E nem sempre você terá a opção de acesso à internet direto, mesmo nos servidores.

Se você tem um servidor linux e quer acesso a internet para realizar updates, via "yum" ou "apt-get", você vai precisar configurar o proxy via linha de comando.

Existem diversas maneiras de fazer isso, e fica a critério de cada um decidir qual se aplica melhor para as suas necessidades. Vou mostrar aqui apenas dois métodos.

1° Método:
O primeiro método é o mais simples. Você precisa dizer para o sistema que a variável "http_proxy" possui um valor especifico. Esta variável é consultada pelo sistema toda vez que um acesso à internet é solicitado.

Abra o terminal e digite os seguintes comandos com o usuário root:

Se o proxy NÃO for autenticado, utilize essa sintaxe:
# export http_proxy="http://nome_servidor_proxy:porta_do_servidor"


Se o proxy FOR for autenticado, utilize essa sintaxe:# export http_proxy="http://usuario:senha@nome_servidor_proxy:porta_do_servidor"

Exemplos:
Sem autenticação:
# export http_proxy="http://servidor.proxy.com.br:3128" 
ou
# export http_proxy="http://10.61.1.10:3128" 

Com autenticação:# export http_proxy="http://usuario:senha@servidor.proxy.com.br:3128"
ou
# export http_proxy="http://usuario:senha@10.61.1.10:3128"

Se você precisa configurar o proxy para obter acesso à algum FTP ou site HTTPS, você deve digitar mais dois comandos alterando apenas o nome da variável. Assim:

Para acesso via FTP:# export ftp_proxy="http://usuario:senha@10.61.1.10:3128"

Para HTTPS:# export https_proxy="http://usuario:senha@10.61.1.10:3128"

Lembrando sempre de ajustar seu comando, de acordo com as configurações locais.

Importante: Neste primeiro método, o proxy fica configurado apenas na sessão atual. Assim que você realizar um logoff, o sistema perde essa configuração e você terá que digitar os comandos novamente na próxima vez que logar no sistema.

2° Método:
O segundo método possui os mesmos princípios do primeiro. No entanto a configuração é feita "globalmente" a fim de funcionar geral para todos e com isso não temos que re-digitar os comandos "export ..." toda vez que agente acessar o servidor.

Abrar o terminal e edite o arquivo (sempre usando o usuário root) "/etc/profile".
# vi /etc/profile

Adicione no final do arquivo as linhas referente ao proxy:

Para proxy NÃO autenticado:
export http_proxy="http://10.61.1.10:3128"
export https_proxy="http://10.61.1.10:3128"
export ftp_proxy="http://10.61.1.10:3128"



Para proxy autenticado:
export http_proxy="http://usuario:senha@10.61.1.10:3128"
export https_proxy="http://usuario:senha@10.61.1.10:3128"
export ftp_proxy="http://usuario:senha@10.61.1.10:3128"


Salve o arquivo e digite mais um comando para que o sistema leia as alterações feitas:
# source /etc/profile

Pronto!! Agora o proxy esta configurado e na próxima vez que você logar no sistema, as variáveis serão carregadas automaticamente.

Importante: É preciso esclarecer que este segundo método possui um detalhe importante que precisa ser comentado. Se o proxy na sua rede for autenticado, você deverá colocar a senha do usuário em plain (texto) no arquivo "/etc/profile". Ou seja, sua senha ficará visível para qualquer um que acessar o servidor e visualizar este arquivo.

No meu caso, como as senhas dos servidores são restritas, somente o pessoal autorizado irá acessá-los. E para facilitar a gerencia nos servidores, criamos um usuário padrão (sem acesso administrativos na rede windows) para usá-lo na configuração do proxy no arquivos "/etc/profile".

Dependendo do tipo de servidor, e do numero de pessoas que o acessam, este segundo método pode não ser viável ou até mesmo seguro. Então tome muito cuidado...

Abraço a todos e até a próxima...
Mad2ogs

Ah, não esqueçam de deixa um comentário....





8 comentários:

  1. Show, me ajudou muito \o/

    ResponderExcluir
  2. Thiago, bom dia!
    Maravilha parceiro, estou começando com o linux e ajudou a resolver metade do meu problema. Agora preciso definir para o proxy não ser acionado para os endereços internos dos meus servidores (Ex: http://192.168.1.100:8080/Aplic). Tem alguma dica?
    José Ricardo

    ResponderExcluir
  3. Fala José Ricardo,
    Bom pra falar a verdade, nunca tinha pensado nisso, pois nunca precisei. Pesquisei um pouco aqui e achei um site que revela o segredo. http://xmodulo.com/2012/12/how-to-configure-http-proxy-exceptions.html Basta criar outra variável (no_proxy) e da o export nela igual as outras.

    export no_proxy="127.0.0.1, localhost, *.cnn.com, 192.168.1.10, domain.com:8080"

    ResponderExcluir
  4. Thiago, você é o cara!!!!

    Estava procurando desde ontem e não encontrava.

    Muito obrigado pela força.

    Grande abraço,

    José Ricardo

    ResponderExcluir
  5. Valeu. Resolveu o meu problema

    ResponderExcluir
  6. Já usei adicionar a linha abaixo no /etc/environment :

    http_proxy="http://nome_servidor_proxy:porta_do_servidor"

    sem export. Mas só funciona depois de reiniciar.

    ResponderExcluir