Ваши совпадения неверны. Они будут стрелять, если пункт назначения был 192.168.1.2
. В вашем случае источник является 192.168.1.2
и пункт назначения 192.168.1.3
.
Кроме того, кажется, вам нужно только ДНКТ
правило или же а ПЕРЕНАПРАВЛЕНИЕ
правило, а не оба.
Правило фильтрации должно быть в ВХОД
цепочка, потому что пунктом назначения является локальная машина. не вижу смысла использовать государство
модуль в этом правиле, но может возникнуть необходимость добавить другие правила, связанные с отслеживанием соединений; неясно, нужны ли они вообще. Это зависит от остальной части брандмауэра. Если в брандмауэре ничего нет, то и правила фильтрации не нужны, потому что все равно все будет включено.
Кстати, государство
устарело, вы должны использовать коннтрек
модуль, ctstate
вместо этого совпадать.
Итак, вам, кажется, нужны следующие два правила:
iptables -t nat -A PREROUTING -s 192.168.1.2 -d 192.169.1.3 -p udp --dport 1003 -j REDIRECT --to-ports 1004
iptables -t filter -A INPUT -s 192.168.1.2 -p udp --dport 1004 -j ПРИНЯТЬ
Первое правило перенаправляет входящий пакет с 1003 на порт 1004 (и обратно для исходящих пакетов). Второе правило фактически разрешает этому транслированному пакету достичь локального процесса.