默认操作的是filter表,如果需要其他表,如nat,加上-t nat
新建链
iptables -N black_list
清空链,不这么做可删不了啊
iptables -F black_list
删除链,一定要删除所有引用
iptables -X black_list
上面删除链需要特别讲一下,如果该链还有引用,则无法被删除。
查看是否存在引用:
# 如果要看从哪个网络接口来的,可以加-v,
iptables -L black_list #--line-numbers#加上序号
若果是新建的,将会看到
Chain black_list (0 references)
上面的结果显示没有引用,可以直接删除。
我们在INPUT链上加一个规则:
# 添加规则,默认是放在目标链的最后,在这里是放在INPUT链的最后
iptables -A INPUT -j black_list
再用iptables -L black_list
查看后,可得
Chain black_list (1 references)
这时候就不能直接删除了,得先删除-D
#删除,如果知道该规则的序号,如5,直接iptables -D INPUT 5
iptables -D INPUT -j black_list
那我们不想放最后,我想放到第二个用-I
#插入,若想放第一个,可以写1,也可以省略数字
iptables -I INPUT 2 -j black_list
范例是黑名单,那怎么能没有具体的ip呢,比如你的ip是192.168.1.66
# 让-s来的包 进入drop链,即丢掉
iptables -A black_list -s 192.168.1.66 -j DROP
好吧,现在我要把你移除黑名单
iptables -D black_list -s 192.168.1.66 -j DROP
: )