nftables
是 Linux 内核中的新一代数据包过滤框架,旨在替代传统的 iptables
、ip6tables
、arptables
和 ebtables
。它提供了更简洁的语法、更高的性能以及更统一的管理方式。以下是它与 iptables
的主要区别和关键特性:
nft
)管理所有协议(IPv4/IPv6/ARP/桥接等)。iptables
、ip6tables
、arptables
、ebtables
),每个工具针对不同协议。bash
nft add table ip filter
nft add chain ip filter input { type filter hook input priority 0 \; }
nft add rule ip filter input tcp dport 22 accept
bash
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
ipset
)实现类似功能,配置更复杂。iptables-nft
兼容层,可直接运行 iptables
命令(实际转换为 nft
规则)。connlimit
)可能不完全兼容。nftables
。nftables
:需要现代功能、更简洁的配置或高性能场景。iptables
:兼容旧系统或依赖特定 iptables
模块的脚本。iptables
迁移到 nftables
:
bash
iptables-save > iptables.rules
iptables-restore-translate -f iptables.rules > nftables.rules
nft -f nftables.rules
通过 nft list ruleset
可查看当前规则。建议逐步迁移并测试规则等效性。