
OK, então em uma instalação vanilla do Ubuntu 14.04.2, executo os seguintes comandos:
sudo bash -c 'echo 1 > "/proc/sys/net/ipv4/ip_forward"'
sudo iptables -t nat -A PREROUTING -d 192.168.100.1 -j DNAT --to-destination 10.196.106.230
sudo tcpdump -i wlan0 icmp and icmp[icmptype]=icmp-echo -n
Então eu faço ping 192.168.100.1
de outro terminal. Mas, vejo tcpdump
me mostrando isso:
01:46:37.536354 IP 10.196.100.76 > 192.168.100.1: ICMP echo request, id 6635, seq 1, length 64
No entanto, se eu liberar a tabela nat e executareste comandoem vez de:
sudo iptables -t nat -A OUTPUT -d 192.168.100.1 -j DNAT --to-destination 10.196.106.230
Então, tcpdump
dá isso:
01:46:53.168639 IP 10.196.100.76 > 10.196.106.230: ICMP echo request, id 6638, seq 1, length 64
(O ping foi bem-sucedido, com um pong retornando da outra máquina.)
Denumerosos tutoriaisonline, esperaria que o IP de destino fosse alterado mesmo na cadeia PREROUTING, certo? Ou eu estou esquecendo de alguma coisa?