当前位置: 代码网 > it编程>编程语言>安全编程 > Iptables防火墙自定义链表实现方式

Iptables防火墙自定义链表实现方式

2024年05月15日 安全编程 我要评论
1.为什么要自定义链为什么需要自定义链呢?默认的四表五链不满足基本使用吗?其实并不是,四表五链完全满足使用,但是当我们同一类程序有很多个防火墙规则时,例如都写在input链中,那么当我们要对其中的一条

1.为什么要自定义链

为什么需要自定义链呢?默认的四表五链不满足基本使用吗?其实并不是,四表五链完全满足使用,但是当我们同一类程序有很多个防火墙规则时,例如都写在input链中,那么当我们要对其中的一条规则进行调整了,就会发现上下有关联性,修改起来不是那么容器,因为这个input链中还有其他的服务规则。

基于这种情况,我们就可以去自定义一张新的链,在这个链中,只定义这一类程序的防火墙规则。

自定义链的规则优先级:

  • 请求首先到达默认的链匹配相应的规则。
  • 当发现请求是要转发到自定义的链时,去自定义链中按照上下顺序进行规则的匹配。
  • 当自定义链中没有合适的匹配规则时,会继续执行默认链中的规则。

2.自定义链的基本应用

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端口。

3.删除自定义的链

首先删除自定义链中的规则,然后删除应用自定义链的规则,最后删除自定义的链。

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

以上就是iptables防火墙自定义链表实现方式的详细内容,更多关于iptables防火墙自定义链表的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com