Eu tenho o Rehat Enterprise Linux Server versão 5.5 (Tikanga) com duas interfaces, conforme abaixo
Por padrão, minha regra de cadeia iptable POSTROUTING é a seguinte:
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
que significa que tem o IP NAT como IP de eth0. Agora quero que um computador host específico (172.16.23.6), conectado a eth1, tenha um IP de origem como o de eth0: 0 (ou seja, xxx.xx.116.19) durante a conexão com a Internet. Então eu adicionei uma regra como abaixo
iptables -t nat -A POSTROUTING -s 172.16.23.6 -o eth0 -j SNAT --to-source xxx.xx.116.19
Que adicionou nova regra acima de MASQUERADE como mostra:
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 172.16.23.6 0.0.0.0/0 to:xxx.xx.116.19
MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
Depois do que eu supus que o host com IP 172.16.23.6 teria IP público xxx.xx.116.19 ao se conectar à Internet (verificado via whatismyip.com). Mas ainda mostra o IP público de eth0 (xxx.xx.64.118). O mesmo funcionou bem para o Ubuntu. Alguém pode sugerir qual é o problema?
Tags iptables