Appearance
简要说明
nftables
是新式的数据包过滤框架,从 Linux 内核 3.13 版本开始可用,旨在替代现用的 iptables
框架。
目前最新的红帽、Ubuntu等主流系统均已用 nftables
替代了iptables
本文档适用于从零开始的小白
为什么要采用新框架?
iptables
有几个难以解决的问题,涉及可扩展性、性能、代码维护等。
主要区别是什么?
- 在
iptables
中,默认情况下有几个表(filter、nat)和链(FORWARD、INPUT.....).在nftables
中,没有默认的表/链。 - 在
iptables
中,每个规则只有一个目标(-j ACCEPT、-j LOG ..) 在nftables
中,您可以在一个规则中执行多个操作。 nftables
包括内置的数据集功能。在iptables
中,需要使用单独的工具ipset
。- 在
iptables
框架中,每个系列都有工具:iptables
、ip6tables
、arptables
、ebtables
。现在,nftables
允许您在一个CLI
工具中管理所有族。 nftables
有一个新的“简化的双栈IPv4/IPv6
管理,通过新的inet
系列,允许您注册同时看到 IPv4 和 IPv6 流量的基础链”。- 这个新框架具有一个新的
linux
内核子系统,称为nf_tables
。新的引擎机制受到类BPF
系统的启发,具有一组基本表达式,可以将它们组合起来构建复杂的过滤规则。