Pessoal, tenho um NAT único para duas redes. Uma na faixa 192.168.30.0(Um provedor de acesso via rádio) e outro na faixa 192.168.10.0(empresa que é proprietária do provedor). As duas redes não se enxergam, e nem devem.
Tinha as seguintes regra:
$INET_IFACE="eth2"
$INET_ADDRESS="200.xxx.xxx.2"
$RADIO_NET="192.168.30/24"
$LOCAL_NET="192.168.30/24"
.
.
.
-> $IPT -t nat -A POSTROUTING -s $RADIO_NET -o $INET_IFACE -j SNAT --to-source $INET_ADDRESS
-> $IPT -t nat -A POSTROUTING -s $LOCAL_NET -o $INET_IFACE -j SNAT --to-source $INET_ADDRESS
Com isso todos os pacotes que saiam do NAT tinham seu endereço de origem alterado para o IP 200.xxx.xxx.2. O problema comecou quando os clientes da faixa 30 comecaram a mandar SPAM e a cair em blackists. Isso fazia com que todas os e-mails de ambas as redes voltassem(ja que na Internet todos vinham do mesm IP 200.xxx.xxx.2).
1-Criei duas interfaces virtuais na máquina e defini os IP como 200.xxx.xxx.4 e 200.xxx.xxx.5
2-Alterei o POSTROUTING para:
-> $IPT -t nat -A POSTROUTING -s $LOCAL_NET -o $INET_IFACE -j SNAT --to-source $INET_ADDRESS4
-> $IPT -t nat -A POSTROUTING -s $RADIO_NET -o $INET_IFACE -j SNAT --to-source $INET_ADDRESS5
Entretando verifiquei no www.meuip.com.br e os acessos continuam partindo de 200.xxx.xxx.2. Sou eu que estou louco ou realmente o iptables não pode fazer NAT para um IP diferente do usado na interface de saída? Pela documentação do iptables isso é possivel sim.
Tentei usar como parametro -o eth2:4(interface que eu atribuí o IP de final 4) mas o iptables retorna erro "Warning: wierd character in interface `eth2:1' (No aliases, :, ! or *)."
Alguem ja precisou fazer isso?
Grato,
Marco
""O maior inimigo da verdade, não é a mentira e sim, a convicção." - Nietzsche."