如何删除iptables规则。

14

我在我的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个回答

22

您的规则是在nat表中定义的,因此您必须显式添加-t nat

sudo iptables -D OUTPUT 1 -t nat 

如果您没有指定表名, 默认操作会隐式使用“-t filter”。

就是这样了!非常感谢! - pkout

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接