elgio
(usa OpenSuSE)
Enviado em 16/03/2009 - 16:18h
O que está acontecendo é que teu modem está recebendo as respostas de 172.16.8.6 e não considera isto como de sua rede (se bem que isto não explica os pacotes de RST. Mas entendo que naquele momento tinhas outro problema).
O duplo nat que se referes não afeta em nada, mas o modem precisa receber os pacotes como sendo do firewall. Tenta isto (com as mesmas convenções de antes):
# ligando roteamento
echo "1" > /proc/sys/net/ipv4/ip_forward
# permitindo roteamento de e para 172.16.8.6
iptables -I FORWARD -i eth1 -s 172.16.8.6 -j ACCEPT
iptables -I FORWARD -o eth1 -d 172.16.8.6 -j ACCEPT
# Capturando porta 3389 da internet
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to 172.16.8.6:3389
# NOVA REGRA ALEM DAS ANTERIORES: mascarando saida do firewall
iptables -t nat -I POSTROUTING -o eth0 -s 172.16.8.6 -j MASQUERADE
Isto faz com que o teu firewall Linux troque o IP 172.16.8.6 para o seu antes de repassar ao modem. Agora terás um TRIPLO NAT. Mas é a vida:
Internet -> Modem: Modem redireciona para 10.0.0.15. Troca ip de destino portanto
Modem -> 10.0.0.15: firewall troca para 172.16.8.6
172.16.8.6: responde direto para IP público, com seu IP de origem
10.0.0.15 -> Modem: remove origem 172.16.8.6 e coloca o seu, 10.0.0.15
Modem identifica esta resposta como a esperada ao pacote original e desfaz o nat.
Outra solução mais interessante seria:
a) no modem, colocar o IP 172.16.8.6 como destino e não o 10.0.0.15
b) ensinar o modem que para chegar em 172.16.8.6 precisa rotear para 10.0.0.15
c) configurar o modem para que faça nat também de 172.16.8.6
:-o