Para criarmos um gateway utilizando um Linux Ubuntu Server 12.10, precisamos de dois adaptadores de rede.
Após a configuração adequada dos dois adaptadores de rede, precisamos autorizar o Linux a repassar os pacotes entre as interfaces (forward).
Na pasta /proc/sys/net/ipv4/, encontramos o arquivo ip_forward. Este arquivo possui como conteúdo, uma flag indicando a autorização de forward. Por padrão, o conteúdo deste arquivo é um 0(zero), ou seja, este sistema não está autorizado a repassar datagramas entre as iterfaces.
Para autorizar, altere o conteúdo do arquivo para 1(um). Utilize um editor de textos ou estando autenticado como root execute o comando abaixo:
# echo "1" > /proc/sys/net/ipv4/ip_forward
Após a autorização, podemos utilizar o iptables em modo nat para ensinar qual será a interface de saída deste gateway. Assim realizamos um 'masquerade' nesta interface com o camando abaixo:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Neste ponto, já está em funcionamento a atividade de repasse(forward) entre as interfaces.
Mas, se reiniciarmos o sistema, estas configurações irão retornar ao padrão.
Para manter as configurações permanentes, precisamos alterar alguns scripts executados na inicialização do sistema. Faremos isto realizando as seguintes ações:
- Editar o arquivo /etc/sysctl.conf: sudo nano /etc/sysctl.conf
- Encontrar e descomentar a linha com o conteudo: net.ipv4.ip_forward=1
- Editar o arquivo /etc/rc.d/rc.local: sudo nano /etc/rc.d/rc.local
- Colocar o comando: sudo iptables -t nat -a POSTROUTING -o eth0 -j MASQUERADE