Fernando, > /sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -d 2xx.2xx.1xx.xx > --dport 80 -j DNAT --to 192.168.97.31:80 > 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast > state UNKNOWN qlen 1000 > link/ether 00:01:02:39:62:3e brd ff:ff:ff:ff:ff:ff > inet 2xx.2xx.1xx.xx/26 brd 200.205.182.127 scope global eth1 > inet 2xx.2xx.1xx.xx/26 scope global secondary eth1 > inet6 fe80::201:2ff:fe39:623e/64 scope link > valid_lft forever preferred_lft forever
Você deve mascarar o ip do DNAT ao IP correspondente. Por exemplo, digamos que você tem 3 ips na mesma interface: eth1 = 200.200.200.1 eth1:1 = 200.200.200.2 eth1:2 = 200.200.200.3 Então, você faz NAT para saída: # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE ou # iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 200.200.200.1 Então você criou um direcionamento em outro IP: # iptables -t nat -A PREROUTING -i eth1 -p tcp -d 200.200.200.2/32 --dport 80 -j DNAT --to 192.168.97.31:80 A conexão chega ao ip 200.200.200.2 na porta 80 e o iptables muda o destino para 192.168.97.31 na porta 80. Então você vai ter esse trafego chegando: IP_CLIENTE -> 200.200.200.2:80 -> 192.168.97.31:80 E você terá esse trafego saindo: 192.168.97.31:80 -> 200.200.200.1 -> IP_CLIENTE Note que o IP_CLIENTE mandou o pacote para 200.200.200.2 e está recebendo retorno do ip 200.200.200.1. Para que isso não aconteça, você vai ter que mascarar esse IP (192.168.97.31) com o ip externo correspondente ao qual você fez o DNAT: # iptables -t nat -I POSTROUTING -o eth1 -p tcp -s 192.168.97.31/32 --sport 80 -j SNAT --to-source 200.200.200.2 E ai sim, você vai ter o trafego correto. -- Abraço! Alejandro Flores http://www.triforsec.com.br/ --------------------------------------------------------------------------- Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br Regras de utilização da lista: http://linux-br.conectiva.com.br FAQ: http://www.zago.eti.br/menu.html
