为什么要自定义链?
当默认链中的规则越来越多时,比如INPUT链中100条规则,里面有针对内网的,有针对外网访问的,有针对nginx服务的,有针对sshd服务的;此时,有一个需求,要修改nginx服务的相关规则,这就需要从到到尾在这100条规则内找出哪些是nginx的,这显然十分浪费时间,也不便于运维人员的管理。
在iptables中,可以自定义链,通过自定义链即可分开进行规则管理。
示例:自定义一个链,将所有针对tcp 80端口的入站规则都写入这条自定义链中,当想要修改针对web服务的入站规则时,直接修改这条自定义链就好了。
自定义链并不能直接使用,而是需要被默认链引用才能够使用。
使用-N
选项可以创建自定义链
可以看到这条自定义链的引用计数为0,也就是说,这条自定义链还没有被任何默认链所引用,即使WEB链中配置了规则,也不会生效。
在自定义链中添加规则,添加方式和默认链的添加方式一毛一样!
这些规则应该去匹配入站的报文,所有我们应该用INPUT链去引用它。
验证:
16主机:
修改自定义链名:-E选项
删除自定义链:-X选项
但是删除自定义链,需要满足:
1.自定义链的引用计数为0
2.自定义链为空
原文:https://www.cnblogs.com/ccku/p/13693409.html