
Итак, на чистой установке Ubuntu 14.04.2 я запускаю следующие команды:
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
Затем я пингую 192.168.100.1
с другого терминала. Но я вижу, что tcpdump
мне показывают это:
01:46:37.536354 IP 10.196.100.76 > 192.168.100.1: ICMP echo request, id 6635, seq 1, length 64
Однако, если я очистлю таблицу NAT и запущуэта командавместо:
sudo iptables -t nat -A OUTPUT -d 192.168.100.1 -j DNAT --to-destination 10.196.106.230
Затем, tcpdump
дает это:
01:46:53.168639 IP 10.196.100.76 > 10.196.106.230: ICMP echo request, id 6638, seq 1, length 64
(Пинг проходит успешно, с другого компьютера раздается звуковой сигнал.)
Измногочисленные руководствав сети, я бы ожидал, что IP назначения будет изменен даже в цепочке PREROUTING, верно? Или я что-то упускаю?