Отмена переадресации порта

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
basvdlei
источник
18

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

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

Предупреждение: Когда вы удаляете строку, все строки ниже получат новый номер строки. Например, если у вас были такие правила, как:

1 rule A
2 rule B
3 rule C

и вы удаляете правило 2, тогда вы получаете:

1 rule A
2 rule C
brainsik
источник
Этот ответ гораздо более полезен, чем принятый ответ, спасибо за статью @brainsik
rjhilgefort
0

Мне интересно, если использование Vim будет вариант

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme
AlexanderN
источник
0

Вы также можете удалить все правила переадресации портов, используя этот код

sudo iptables -P FORWARD DROP
Синтоистский Иосиф
источник