如何删除iptables规则

时间:2014-01-11 22:32:19

标签: 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 个答案:

答案 0 :(得分:14)

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

sudo iptables -D OUTPUT 1 -t nat 

如果您尚未指定表名,则默认操作将隐式使用“-t filter”。