我有一个 iptables 规则。使用以下命令搜索该规则时
sudo /sbin/iptables -L -n --line-numbers
我明白了
Chain tcp_inbound (1 references)
num target prot opt source destination
xxxx
2 ACCEPT tcp -- 10.10.0.20 0.0.0.0/0 tcp dpt:25
xxxx
...
我的目标是删除该规则。
我尝试过
sudo iptables -D INPUT 2
但规则仍然存在。我使用的是 Debian。有什么想法吗?
答案1
找到要删除的规则的最简单方法是检查 的输出iptables-save
,然后将 更改-A
为-D
即为要删除的规则。
就你的情况而言:
$ iptables-save | grep 10.10.0.20
....
-A tcp_inbound -s 10.10.0.20/32 -p tcp -m tcp --dport 25 -j ACCEPT
....
因此你只需要发出:
iptables -D tcp_inbound -s 10.10.0.20/32 -p tcp -m tcp --dport 25 -j ACCEPT
答案2
您正在尝试删除链中的规则 2 INPUT
,其中您的规则存储在链中tcp_inbound
。