quarta-feira, 14 de outubro de 2015

Compartilhar Internet habilitando Roteamento e fazendo NAT no Ubuntu Server 14.04


Para solucionar o problema de compartilhamento da internet no GNU/Linux é feito através da programa Iptables, que é o firewall nativo das distribuições a partir do kernel 2.4.

Cenário:
Configurações do Ubuntu Server:
2 placas de rede 
   eth0 - Com acesso a internet
   eth1 - Com acesso a rede local
Serviço DHCP ativado e definido o IP de eth1 como gatway da rede.


Habilitando o Roteamento de pacotes no Ubuntu Server: 
# echo 1 > /proc/sys/net/ipv4/ip_forward 

Esse comando escreve o número 1 dentro do arquivo ip_forward, ativando o roteamento de pacote. O padrão é 0. Com isso o Linux passa a rotear os pacotes de uma interface para a outra e vice-versa. 

Ativando o NAT: 
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

Esse comando permite que todos os hots da rede rede local possam sair para a internet com apenas um IP público. O "-o eth0" é a interface que está conectada com a internet, se fosse uma conexão Velox seria "-o ppp0". 

Feito! 
Você já deve estar conseguindo acessar a internet pela rede local através do Ubuntu Server.

Agora vamos criar um script e colocar para iniciar durante o boot. 
Criando script, dentro do /usr/local/bin: 
# vim /usr/local/bin/firewall 

#!/bin/bash
echo "Ativando compartilhamento "
# Ativando Roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
# Ativando o NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo " Compartilhamento ativado"

Salve e saia do arquivo. Dê permissão de execução no script com o comando: 
# chmod +x /usr/local/bin/firewall 

Agora vamos colocar esse script para ser iniciado durante o boot. Edite o arquivo /etc/rc.local
# vim /etc/rc.local 

E adicione a seguinte linha em seu final: 

/usr/local/bin/firewall

Salve e saia do arquivo. 
Toda vez que o micro for reinicializado, Internet será roteada !