Мне нужно, чтобы все запросы на порт 80 перенаправлялись на 8020. Я погуглил и получил:
iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020
Теперь в будущем, если мне придется отменить это, что мне делать (кроме перезапуска системы)?
Мне трудно полностью восстановить правило 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
Просто удалите правило:
iptables -t nat -D PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020
Мне интересно, можно ли будет использовать vim
iptables-save > editme
vim editme # remove the rule you dont want
iptables-restore < editme
Вы также можете удалить все правила переадресации портов, используя этот код
sudo iptables -P FORWARD DROP