Compartilhando acesso à internet com iptables
Neste artigo usaremos o iptables para fazer um compartilhamento de seu link dedicado com a Internet (speedy, velox, lp, etc) com suas estações de rede.
Compartilhando Internet com iptables
Servidor
Temos uma máquina Linux com 2 (duas) placas de rede:- eth0: 200.x.x.x (ip fixo da internet)
- eth1: 10.0.0.x (ip fixo interno)
Verifique se o iptables está instalado:
# rpm -q iptables
iptables-1.2.4-1cl
No caso estou usando a versão 1.2.4 do iptables em um Conectiva, se o seu não estiver instalado, faça o download (www.rpmfind.net, por exemplo) e instale-o com o seguinte comando:
# rpm -Uvh iptables-version
Depois de instalado vamos compartilhar à Internet. Digite a seguinte seqüência de comandos no shell:
# modprobe iptable_nat
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
Onde:
- modprobe iptable_nat : Carregar o módulo NAT (isso carrega todos os outros);
- iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE : Na tabela NAT (-t nat), adicionar uma regra (-A) após o routing;
- echo 1 < /proc/sys/net/ipv4/ip_forward : Habilitar IP forwarding.
O ambiente gerado pela configuração realizada pelos comandos acima será descartada após o reinício do servidor, dessa forma sugiro que você aplique estas regras em algum script que será executado durante a fase de inicialização do servidor (ex.: /etc/rc.d/rc.local).
Cliente
Configure suas estações de rede da seguinte forma:- gateway: IP do servidor Linux
- servidores DNS: qualquer servidor DNS válido (ex.: 200.204.0.138)
Recarregue as configurações das estações e pronto, estará navegando de modo transparente.
Referências
Abraços,
tucs