Выполняю следующие команды:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -d 192.168.2.41 -p udp --dport 8793 -j DNAT --to-destination 192.168.2.201:8793
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Суть: перенаправлять все пакеты которые приходят на текущий компьютер по указанному адресу(--to-destination).
Проблема : после выполнения этих команд, пакеты не перенаправляются(проверяю при помощи tcpdump). Пакеты приходят, но не уходят.
Содержимое таблицы после некоторого времени работы
iptables -t nat -L -v
Chain PREROUTING (policy ACCEPT 512 packets, 45754 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT udp -- any any anywhere host udp dpt:8793 to:192.168.2.201:8793
Chain OUTPUT (policy ACCEPT 1314 packets, 82818 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 429 packets, 26992 bytes)
pkts bytes target prot opt in out source destination
19 1237 MASQUERADE all -- any eth0 anywhere anywhere
Что самое странное - иногда правила применяются и пакеты начинают ходить, но иногда этого не происходит. Закономерности не выяснил