24 de fevereiro de 2011

Habilitando seu desktop / laptop como um router

Talvez não para todos mas, para nós que trabalhamos em vários datacenters diferentes, volta e meia nos deparamos com servidores que não são conectados diretamente à internet, nem usam um serviço de proxy para isso.

Mas, nestes casos, como fazer para se conectar à internet? Bom, caso o dono dos servidores (seu cliente) permitir, e você tiver uma conexão 3G ou WiFi disponivel no seu laptop, é muito simples usar o seu laptop como um "router" para acesso à internet.

Óbviamente que eu estou contando que você roda alguma distribuição de Linux, certo? ;)

Bom, para tornar o seu laptop/desktop em um router basta:

1. Habilitar o encaminhando de pacotes de uma interface para a outra no seu kernel
# cat 1 >/proc/sys/net/ipv4/ip_forward

2. Uma vez que isso foi feito, precisamos agora criar 2 regras no seu iptables. Porém, antes disso, verifique se o seu iptables não está configurado para ser um firewall (afinal, não queremos barrar os pacotes que chegarão no laptop do servidor)
# service iptables status

(se estiver rodando o mais simples é desligá-lo)
# service iptables stop

3. Ok, agora vamos configurar o iptables para permitir que os pacotes que venham do servidor sejam redirecionados para a interface conectada à internet e para permitir que os IP's que vem da "rede interna" sejam "mascarados" como um único IP de saída (NAT), respectivamente:
# iptables -A FORWARD -i eth0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

onde eth0 é a interface da rede interna, onde o servidor está conectado, e wlan0 é a interface da rede externa, a qual está conectada à internet.

Pronto! O seu laptop está funcionando como um router. Agora basta que você garanta que no seu servidor o DNS está configurado:
# cat /etc/resolv.conf

Se o arquivo não conter um nameserver válido, pode ser adicionado o nameserver 8.8.8.8 que é um DNS público do Google.

E precisamos garantir que temos uma rota default apontando para o IP do nosso laptop/desktop:
# route add default gw <ip_laptop>

Se quiser testar, basta fazer um ping para algum site, como google.com, e ver se o nome está sendo resolvido e se o ping está sendo respondido.

Nenhum comentário: