Как удалить правило iptables

У меня есть это правило в моих iptables:

sudo iptables -t nat -nvL --line-numbers

Chain PREROUTING (policy ACCEPT 14 packets, 1950 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 14 packets, 1950 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 577 packets, 41182 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REDIRECT   tcp  --  *      lo      0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8090

Я попытался удалить его, используя:

sudo iptables -D OUTPUT 1

я получил эту ошибку:

iptables: Index of deletion too big.

Итак, после некоторых поисков в Интернете я узнал, что должен иметь возможность удалить все правила для этой цепочки следующим образом:

sudo iptables -F OUTPUT

Результат этой команды ничего, но когда я снова запустил команду sudo iptables -t nat -nvL --line-numbers, чтобы перечислить существующие правила, ничего не удалилось. Что мне не хватает?

Ответ 1

Ваше правило было определено в таблице nat, поэтому вы должны явно добавить -t nat.

sudo iptables -D OUTPUT 1 -t nat 

Если вы не указали имя таблицы, действие по умолчанию будет использовать "-t фильтр" неявно.