Локальная переадресация портов с использованием iptables не работает

Я использую следующую команду для пересылки входящего трафика с порта 30 на порт 1234. Но это не работает. В Wireshark также не обнаружено следов пакетов, направленных на порт 1234.

sudo iptables -t nat -I ПРЕДУПРЕЖДЕНИЕ –src 0/0 –dst 127.0.0.1 -p tcp –dport 30 -j REDIRECT –to-ports 1234.

Локальная пересылка пакетов на другой порт не проходит через цепочку PREROUTING. Они следуют по цепочке ВЫХОДА. Работает смена цепи с ПРОГНОЗИРОВАНИЯ НА ВЫХОД.

sudo iptables -t nat -A ВЫХОД -p tcp –dport 30 -j REDIRECT –to-port 1234.

Более подробную информацию можно найти здесь о iptables NAT Filtershttps: //www.karlrupp.net/en/computer/nat_tutorial

проверьте, включено это или нет

sudo iptables -t nat -L 

Если есть какие-либо записи, удалите их, используя:

 sudo iptables -F -t nat 

Попробуйте без флагов src dest:

 sudo iptables -t nat -A PREROUTING -p tcp --dport 30 -j REDIRECT --to-ports 1234 

проверьте еще раз, включено это или нет

 sudo iptables -t nat -L 

Важно удалить цепочечные записи, поставленные в очередь по умолчанию для маршрута «ВЫХОД».