8.iptables自定义链
为什么要自定义链?
当默认链中的规则越来越多时,比如INPUT链中100条规则,里面有针对内网的,有针对外网访问的,有针对nginx服务的,有针对sshd服务的;此时,有一个需求,要修改nginx服务的相关规则,这就需要从到到尾在这100条规则内找出哪些是nginx的,这显然十分浪费时间,也不便于运维人员的管理。
在iptables中,可以自定义链,通过自定义链即可分开进行规则管理。
示例:自定义一个链,将所有针对tcp 80端口的入站规则都写入这条自定义链中,当想要修改针对web服务的入站规则时,直接修改这条自定义链就好了。
自定义链并不能直接使用,而是需要被默认链引用才能够使用。
使用-N
选项可以创建自定义链
可以看到这条自定义链的引用计数为0,也就是说,这条自定义链还没有被任何默认链所引用,即使WEB链中配置了规则,也不会生效。
在自定义链中添加规则,添加方式和默认链的添加方式一毛一样!
这些规则应该去匹配入站的报文,所有我们应该用INPUT链去引用它。
验证:
16主机:
修改自定义链名:-E选项
删除自定义链:-X选项
但是删除自定义链,需要满足:
1.自定义链的引用计数为0
2.自定义链为空
作者:ccku
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。