简单说,firewalld是新的防火墙管理工具,iptables是过去的管理工具,两者都是linux提供给用户的操作界面,真正的执行者是netfilter.
netfilter【ubuntu系统关闭防火墙命令 ubuntu防火墙设置】Linux 2.4开启的防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等 。iptables/Netfilter的这些规则可以通过灵活组合,形成非常多的功能、涵盖各个方面,这一切都得益于它的优秀设计思想 。
netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:
- 网络地址转换(NAT)
- 数据包内容修改(mangle)
- 以及数据包过滤的防火墙功能(filter)
- 连接跟踪模块(conntrack)
在IPv4中定义了5个钩子函数(如上图所示),这些钩子函数在数据包流经协议栈的5个关键点被调用 。这就像有5个钓鱼台,在每个钓鱼台放了一个鱼钩(HOOK),把经过的数据包钓上来,然后根据自定义的规则,来决定数据包的命运:
可以原封不动的放回IPv4协议,继续向上层递交;可以进行修改,再放回IPv4协议;也可以直接丢弃 。
netfilter主要采用连接跟踪(Connection Tracking)、包过滤(Packet Filtering)、地址转换(NAT)、包处理(Packet Mangling)四种技术 。
NF_IP_PRE_ROUTING数据报在进入路由代码被处理之前,数据报在IP数据报接收函数ip_rcv()(位于net/ipv4/ip_input.c,Line379)的最后,也就是在传入的数据报被处理之前经过这个HOOK 。在ip_rcv()中挂接这个HOOK之前,进行的是一些与类型、长度、版本有关的检查 。经过这个HOOK处理之后,数据报进入ip_rcv_finish()(位于net/ipv4/ip_input.c,Line306),进行查路由表的工作,并判断该数据报是发给本地机器还是进行转发 。在这个HOOK上主要是对数据报作报头检测处理,以捕获异常情况 。
- 涉及功能(优先级顺序):conntrack、mangle、DNAT
- 涉及功能:mangle、filter、SNAT、conntrack
- 涉及功能:mangle、filter
推荐阅读
- 企业管理软件erp系统推荐 移动协同办公系统软件有哪些
- 苹果手机被偷了关机了怎么办怎么定位(手机序列号查定位系统
- 《拳击俱乐部》全系统解析图文教程攻略 游戏介绍
- 讲解人脸识别道闸系统功能说明 人脸识别闸机系统原理
- 电表实时监控查询软件介绍 电力监控软件系统
- 投票系统制作 网上投票系统制作方法?
- linux操作系统的特点 linux系统有什么用处
- springcloud项目搭建 网站cms系统哪个好
- 评选系统 免费在线微信投票系统哪个好呢?
- 投票选举系统 怎么选择好的投票系统?