Мені здається болю повністю реконструювати правило 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