2009/2/4 Allison Vollmann<allisonvoll@yahoo.com.br>:
realmente funciona, mas tem um porém, só da certo se eu souber de quem vem a
conexão, se for feita através de outro host não tem como identificá-lo no
SNAT, ao menos que tenha alguma forma dinâmica de se fazer isso, pois creio
eu que precisa pegar o endereço *source* da conexão de entrada em PREROUTING
e inserilo como source do pacote em POSTROUTING, não sei se o netfilter
suporta isso de alguma forma ou existe algum modulo a parte, mas com apenas
3 hostd pré-definidos aparentemente funciona muito bem.d
Eu acho que as regras podem ser adaptadas da seguinte maneira:
iptables -t nat -A PREROUTING -i eth0 -d 235.xxx.xxx.xxx -p tcp
--dport 80 -j DNAT --to 235.xxx.xxx.yyy
iptables -t nat -A POSTROUTING -o eth0 -d 235.xxx.xxx.xxx -p tcp
--dport 80 -j SNAT --to 235.xxx.xxx.xxx
Nessa solução, o endereço 235.xxx.xxx.xxx sempre ficará como
intermediário, sendo dele a responsabilidade de atribuir o endereço de
origem apropriado. E se ter um intermediário não é problema, essa
solução pode ser usada para mais de um host, colocando-se diversos
DNATs.