第 10 章 nftables 入门
如果您的场景不在 firewalld 涵盖的典型数据包过滤情况中,或者您希望完全控制规则,您可以使用 nftables 框架。
10.1. 什么是 nftables 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
nftables 框架对数据包进行分类,它是 iptables、ip6tables、arptables、ebtables 和 ipset 工具的继承者。与之前的数据包过滤工具相比,它在方便、特性和性能方面提供了大量改进,最重要的是:
- 内置查找表而不是线性处理
-
IPv4和IPv6协议的单一框架 - 通过事务,而不是获取、更新和存储整个规则集来更新内核规则集
-
支持在规则集(
nftrace)和监控追踪事件(nft)中调试和追踪 - 更加一致和压缩的语法,没有特定协议的扩展
- 用于第三方应用程序的 Netlink API
nftables 框架使用表来存储链。链包含执行动作的独立规则。nft 工具替换了之前数据包过滤框架中的所有工具。您可以使用 libnftables 库,通过 libnftnl 库与 nftables Netlink API 进行低级交互。
要显示规则集变化的影响,请使用 nft list ruleset 命令。要清除内核规则集,请使用 nft flush ruleset 命令。请注意,这也可能会影响 iptables-nft 命令安装的规则集,因为它使用了同样的内核基础架构。