Назад | Перейти на главную страницу

iptables порт пересылка дублирует пакеты

Я хочу перенаправить пакеты udp, полученные через порт 162, на другой порт. ex: 8981

я выполнил следующий cmd

iptables -A PREROUTING -t nat  -p tcp --dport 162 -j REDIRECT --to-port 8981

Я вижу, что теперь получаю дублирующиеся пакеты на 8981 ..

может ли кто-нибудь направить меня в правильном направлении?

Также как удалить указанное выше правило?

TIA, / день

Мы оставим проблему «повторяющихся пакетов» до тех пор, пока не появятся дополнительные диагностические данные, но удалить правило легко.

Чтобы удалить правило iptables, просто замените -A с участием -D:

iptables -D PREROUTING -t nat  -p tcp --dport 162 -j REDIRECT --to-port 8981

Если вы используете -I N вместо этого вы можете использовать iptables -D N, но это рискованно, если впоследствии были добавлены какие-либо правила.

Если ты действительно облажался и даже не знаю что iptables команда, которую вы выполнили (bash имеет историю команд по какой-то причине ...), вы можете перечислить все правила в цепочке следующим образом:

iptables -t nat -L PREROUTING --line-numbers

В результате вы получите следующий результат:

Chain int2ext (1 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED
2    ACCEPT     all  --  192.0.2.0/24         0.0.0.0/0
3    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
4    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0

Затем найдите num запись столбца, соответствующая правилу, которое вы хотите удалить, и запустите

iptables -t nat -D PREROUTING <num>