Скасування переадресації порту


16

Мені потрібні всі запити на порт 80, щоб переадресувати на 8020. Я гугл і отримав:

iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020

Тепер у майбутньому, якщо мені доведеться скасувати це, що робити (крім перезавантаження системи)?

Відповіді:


14

Просто видаліть правило:

iptables -t nat -D PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020

18

Мені здається болю повністю реконструювати правило iptable, коли я хочу його видалити. Встановлений я перераховую правила з номерами рядків, а потім видаляю за номером. Наприклад:

iptables -t nat -L --line-numbers

Видає вихід:

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 8020 

Потім видалити за номером:

iptables -t nat -D PREROUTING 1

Caveat: Коли ви видалите рядок, усі рядки нижче отримають новий номер рядка. Наприклад, якщо у вас були такі правила, як:

1 rule A
2 rule B
3 rule C

і ви видалите правило 2, тоді ви отримаєте:

1 rule A
2 rule C

Ця відповідь набагато корисніша за прийняту відповідь, дякую за написання @brainsik
rjhilgefort

0

Мені цікаво, чи використання vim було б варіантом

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme

0

Ви також можете скинути всі правила переадресації портів за допомогою цього коду

sudo iptables -P FORWARD DROP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.