第 21 章 从 iptables 迁移到 nftables


如果您的防火墙配置仍然使用 iptables 规则,则您可以将 iptables 规则迁移到 nftables

重要

ipsetiptables-nft 软件包已在 Red Hat Enterprise Linux 9 中弃用。这包括 nft-variants (如 iptablesip6tablesarptablesebtables 工具)的弃用。如果您使用其中任何一个工具,例如,因为您已从早期的 RHEL 版本升级,因此请迁移到 nftables 软件包提供的 nft 命令行工具。

21.1. 弃用的 iptables 框架中的概念

与主动维护的 nftables 框架类似,弃用的 iptables 框架使您能够执行各种数据包过滤任务、日志记录和审计、与 NAT 相关的配置任务等。

iptables 框架由多个表组成,其中每个表都为特定目的而设计:

filter
默认表确保常规数据包过滤
nat
对于网络地址转换(NAT),包括更改数据包的源和目标地址
mangle
对于特定的数据包更改,您可以为高级路由决策对数据包标头进行修改
raw
对于需要在连接跟踪之前发生的配置

这些表作为单独的内核模块实现,其中每个表都提供一组固定的内置链,如 INPUTOUTPUTFORWARD。链是针对其评估数据包的规则的序列。这些将钩住内核中数据包处理流中的特定点。链在不同的表中有相同的名称,但它们的执行顺序由各自的钩子优先级决定。优先级由内核在内部管理,以确保规则以正确的顺序应用。

最初,iptables 被设计为处理 IPv4 流量。但是,随着 IPv6 协议的出现,需要引入 ip6tables 工具来提供可比较功能(如 iptables),并使用户能够创建和管理用于 IPv6 数据包的防火墙规则。使用相同的逻辑,创建 arptables 工具是为了处理地址解析协议(ARP),开发 ebtables 工具是为了处理以太网桥接帧。这些工具确保您可以在各种网络协议中应用 iptables 的数据包过滤功能,并提供全面的网络覆盖。

要增强 iptables 的功能,开始开发扩展。功能扩展通常作为与用户空间动态共享对象(DSO)配对的内核模块实现。扩展引入了"匹配"和"目标",您可以在防火墙规则中使用它们来执行更复杂的操作。扩展可以启用复杂的匹配和目标。例如,您可以匹配或操作特定的第 4 层协议标头值,执行速率限制、强制配额等。某些扩展旨在解决默认 iptables 语法中的限制,如"多端口"匹配扩展。此扩展允许单个规则匹配多个非连续端口,以简化规则定义,从而减少所需的单个规则的数量。

ipsetiptables 的一种特殊的功能扩展。这是一个内核级别的数据结构,它与 iptables 一起使用来创建 IP 地址、端口号和其他与网络有关的您可以匹配数据包的元素的集合。这些集合可显著简化、优化并加快编写和管理防火墙规则的过程。

详情请查看您系统上的 iptables (8) 手册页。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat