sábado, 5 de março de 2011

Tunelamento com SSH

Um dos clientes que presto suporte possui uma estrutura um pouco incomum para mim. Uma conexão ADSL com o modem roteado, um servidor Linux ligado nesse roteador funcionando como gateway. No modem, foi colocado o endereço desse servidor na DMZ, para que toda requisição da Internet para esse endereço fosse enviada diretamente para o servidor.

O problema é que quando esse modem reinicia (por queda de energia mesmo), a configuração de DMZ também reinicia. Ou seja, ficamos sem acesso ao servidor. O modem também não permite acesso remoto pelo browser através da Internet. Por sorte, existe uma regra no modem que redireciona o tráfego na porta 22 para o gateway (e essa regra não é reiniciada quando o modem desliga e liga novamente).


Então para conseguir acesso ao modem e colocar a configuração de DMZ novamente, é necessário fazer um tunelamento por SSH, que faço dessa forma:

ssh -L 80:endereço_local_do_modem:80 root@endereco_ip_externo

Depois é só abrir o navegador e colocar:

http://localhost:80 ou apenas http://localhost que a página do modem abre.