-
netfilter 是 Linux 内核的一个网络框架,提供了数据包过滤(包括无状态包、有状态包)、NAT 等功能。
-
netfilter 工作在内核态,提供了以下命令供用户配置防火墙规则:
- iptables :用于过滤 IPv4 协议的数据包。
- ip6tables :用于过滤 IPv6 协议的数据包。
- arptables
- ebtables
-
相关历史:
- 1998 年,Rusty Russell 创建了 netfilter 项目,旨在改进 Linux 防火墙软件。
- 2000 年,Linux 2.4 内核发布,加入了 netfilter ,后来成为了很多 Linux 发行版的默认防火墙。
- 2008 年,netfilter 开发团队公布了 nftables 项目,它是一个新的包过滤框架,提供了一个新命令 nft 来取代 iptables、ip6tables 等命令。
- 2014 年,Linux 3.13 内核发布,加入了 nftables 。
-
firewalld 是 Red Hat 公司开发的防火墙软件。
- 于 2011 年发布,采用 Python 开发。
- 默认后端为 nftables ,也兼容 netfilter 。
- 在 RHEL 7 之前的 RHEL 发行版中,默认使用 iptables 命令来管理防火墙。
- 在 RHEL 7 发行版中, firewalld 取代 iptables 成为了默认防火墙软件。
- 用户可以同时使用 iptables 和 firewalld 两个防火墙软件,但容易搞混规则。建议将一个防火墙关闭或默认允许所有流量,只使用另一个防火墙。
netfilter、iptables、firewalld 的关系、区别
于 2022-11-01 16:58:10 首次发布