iptables——自定义链创建及引用

发布时间 2023-07-25 21:12:18作者: jiayou111

当默认链中的规则非常多时,不方便我们管理,此时可以考虑用自定义链。
比如将所有针对80端口的web入站规则都写入到IN_WEB自定义链中,
将所有针对sshd的出站规则都写入到OUT_SSH自定义链中。

创建自定义链

# 在filter表中创建IN_WEB自定义链
iptables -t filter -N IN_WEB 

引用自定义链

# 在INPUT链中引用刚才创建的自定义链
iptables -t filter -I INPUT -p tcp --dport 80 -j IN_WEB

引用后,IN_WEB链的引用计数已经变为1,表示这条自定义链已经被引用了1次,自定义链还可以引用其他的自定义链。
”动作”在iptables中被称为”target”,这样描述并不准确,因为target为目标之意,报文被规则匹配到以后,target能是一个”动作”,target也能是一个”自定义链”,当target为一个动作时,表示报文按照指定的动作处理,当target为自定义链时,表示报文由自定义链中的规则处理。

查看自定义链中的规则

# 查看filter表自定义链IN_WEB中的规则
iptables -t filter --line -nvL IN_WEB

重命名自定义链

# 将IN_WEB自定义链重命名为WEB
iptables -E IN_WEB WEB 

删除自定义链

需要满足两个条件:
1.自定义链没有被引用
2.自定义链中没有任何规则

# 删除引用计数为0并且不包含任何规则的WEB链
iptables -X WEB