
Bien, en una instalación básica de Ubuntu 14.04.2, ejecuto los siguientes 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
Luego hago ping 192.168.100.1
desde otra terminal. Pero veo que tcpdump
me muestra esto:
01:46:37.536354 IP 10.196.100.76 > 192.168.100.1: ICMP echo request, id 6635, seq 1, length 64
Sin embargo, si limpio la tabla nat y ejecutoeste comandoen cambio:
sudo iptables -t nat -A OUTPUT -d 192.168.100.1 -j DNAT --to-destination 10.196.106.230
Luego, tcpdump
da esto:
01:46:53.168639 IP 10.196.100.76 > 10.196.106.230: ICMP echo request, id 6638, seq 1, length 64
(El ping es exitoso y la otra máquina envía un ping.)
Desde elnumerosos tutorialesen línea, esperaría que se cambiara la IP de destino incluso en la cadena PREROUTING, ¿verdad? ¿O me estoy perdiendo algo?