Pessoal;
Estou preparando material sobre firewall com iptables e montei um lab pra isto. Disponho
duas redes: 172.16.8.0/255.255.248.0 (minha rede externa) e 192.168.254.0/255.255.255.0
(minha rede privada).
Estou utilizando o kernel 2.4.27 devidamente configurado e com quase todas opções do
Netfilter habilitadas como parte do kernel, algumas como módulo e apenas as experimentais
foram deixadas de fora. A distribuição é um Debian sarge (testing).
A versão do iptables é a 1.2.11 instalada através de compilação e a política padrão das
chains de todas as tabelas é ACCEPT. Comecei fazendo MASQUERADE da minha rede interna
(192.168.254.0/24) pra tudo que passasse por eth0 (que está na rede externa) e funcionou
beleza.
Segundo todas as referências que li, para fazer um NAT estático bastaria utilizar o
seguinte par de regras:
#iptables -t nat -A POSTROUTING -s 192.168.254.32 -j SNAT –to-source 172.16.8.32
#iptables -t nat -A PREROUTING -d 172.16.8.32 -j DNAT –to-destination
192.168.254.32
Lembrando que o IP utilizado para fazer este NAT (172.16.8.32) não é o mesmo da interface
eth0 (172.16.8.254).
Como não funcionou, continuei a pesquisa e em todo lugar encontrava sempre o mesmo par de
comandos, as vezes citações da necessidade de apenas o primeiro comando. Como só
encontrava referências de NAT utilizando redirecionamento de porta, o que não é meu caso,
editei o arquivo /etc/network/interfaces e adicionei a seguinte interface virtual:
auto eth0:1
iface eth0:1 inet static
address 172.16.8.32
netmask 255.255.248.0
gateway 172.16.15.254
Quando reinicialize a interface, o NAT passou a funcionar. Continuei buscando uma
explicação e não encontrei qualquer referência a este comportamento. A pergunta que faço
é: isto é assim mesmo, ou deixei de fazer alguma outra coisa e improvisei (mesmo sem
querer) uma solução? Se o procedimento é este mesmo, por que nem na NAT-HOWTO está descrito?
Valeu!