学习IPTABLES 时候只学过新增规则,用iptables -F后全部规则都会清空,但是如何删除一条规则呢?网上搜索了下,删除规则的方法:
一:
语法是: iptables -D chain rulenum [options]
其中: chain 是链的意思,就是INPUT FORWARD 之类的
rulenum 是规则的编号。从1 开始。可以使用 --line-numbers 列出规则的编号.
说一下 --line-numbers 选项,如下面的命令:
1、查看需要删除的规则,本例为FORWARD 规则。
[root@Router ~]# iptables -L FORWARD --line-numbers
hain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
2、删除指定行规则:
[root@Router ~]# iptables -D FORWARD 1
二、第二种办法是 -A 命令的映射,不过用-D替换-A。当你的链中规则很复杂,而你不想计算它们的编号的时候这就十分有用了。也就是说,你如何用iptables -A.... 语句定义了一个规则,则删除此规则时就用 -D 来代替- A 其余的都不变即可。
转载于:https://blog.51cto.com/89995/1257198