我的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
命令以列出之后的现有规则时,没有删除任何内容。我错过了什么?
答案 0 :(得分:14)
您的规则是在表nat中定义的,因此您必须明确添加 -t nat 。
sudo iptables -D OUTPUT 1 -t nat
如果您尚未指定表名,则默认操作将隐式使用“-t filter”。