文章摘要
这篇文章介绍了Iptables防火墙中的自定义链表(Custom Chain Table)的使用方法及其应用场景。自定义链表的作用是帮助组织防火墙规则,避免同一类程序或设备中的规则堆砌导致的规则优先级混乱。文章详细讲解了如何创建自定义链表、在链表中添加防火墙规则以及如何将这些规则应用到默认的IPTABLES链表中,从而实现对特定服务或规则的集中管理。此外,文章还介绍了如何删除自定义链表及其相关规则,以释放资源并保持防火墙配置的简洁性。通过自定义链表,用户可以更高效地管理复杂的网络防火墙规则。
目录1.为什么要自定义链2.自定义链的基本应用3.删除自定义的链
为什么需要自定义链呢?默认的四表五链不满足基本使用吗?其实并不是,四表五链完全满足使用,但是当我们同一类程序有很多个防火墙规则时,例如都写在INPUT链中,那么当我们要对其中的一条规则进行调整了,就会发现上下有关联性,修改起来不是那么容器,因为这个INPUT链中还有其他的服务规则。
基于这种情况,我们就可以去自定义一张新的链,在这个链中,只定义这一类程序的防火墙规则。
自定义链的规则优先级:
请求首先到达默认的链匹配相应的规则。当发现请求是要转发到自定义的链时,去自定义链中按照上下顺序进行规则的匹配。当自定义链中没有合适的匹配规则时,会继续执行默认链中的规则。
1)创建一个自定义链
[root@jxl-1 ~]# iptables -t filter -N IN_HTTP
2)在自定义的链中添加防火墙规则
添加了一条防火墙规则,来自192.168.20.21源地址的客户端禁止访问192.168.20.20主机的80端口。
[root@jxl-1 ~]# iptables -t filter -I IN_HTTP -s 192.168.20.21 -d 192.168.20.20 -p tcp –dport 80 -j DROP
3)应用自定义的链
虽然已经创建了自定义链,链中也有具体的防火墙规则,但是实际上没有任何作用,因为发过来的请求依旧会进入到INPUT链,还需要在Iptables中应用一下自定义的链,使请求转发到自定义的链上。
应用自定义的链其实就是在INPUT链插入一条规则,这条规则就是将数据报文转发给自定义的链。
将所有来自80端口的数据报文转发到IN_HTTP链。
[root@jxl-1 ~]# iptables -t filter -I INPUT -p tcp –dport 80 -j IN_HTTP
3)查看设置的防火墙规则

4)测试效果
192.168.20.21无法请求192.168.20.20主机的80端口。

首先删除自定义链中的规则,然后删除应用自定义链的规则,最后删除自定义的链。
1.删除自定义链中的规则
[root@jxl-1 ~]# iptables -t filter -D IN_HTTP 1
2.删除应用自定义链的规则
[root@jxl-1 ~]# iptables -t filter -D INPUT 1
3.删除自定义链
[root@jxl-1 ~]# iptables -t filter -X IN_HTTP
[root@jxl-1 ~]# iptables -t filter -D IN_HTTP 1
2.删除应用自定义链的规则
[root@jxl-1 ~]# iptables -t filter -D INPUT 1
3.删除自定义链
[root@jxl-1 ~]# iptables -t filter -X IN_HTTP
以上就是Iptables防火墙自定义链表实现方式的详细内容,更多关于Iptables防火墙自定义链表的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:Iptables防火墙基本匹配条件应用详解Iptables防火墙四表五链概念及使用技巧详解Iptables防火墙iprange模块扩展匹配规则详解Iptables防火墙tcp-flags模块扩展匹配规则详解Iptables防火墙string模块扩展匹配规则Iptables防火墙limit模块扩展匹配规则详解Iptables防火墙connlimit与time模块扩展匹配规则
© 版权声明
文章版权归作者所有,未经允许请勿转载。



