nftables
nftables 是 Linux 内核的包过滤与网络地址转换框架,用于取代沿用多年的 iptables。它提供了统一的语法(同时覆盖 IPv4/IPv6/ARP/桥接)、更高效的规则匹配(基于集合与映射)以及事务式的规则变更,从内核 3.13 起逐步引入,是当前主流发行版的默认防火墙后端。
它的工作方式
nftables 与 iptables 的关系常被误解为“完全替换”:实际上很多系统里两者并存,Docker、fail2ban 等软件仍在通过兼容层(xtables)写 iptables 规则,最终被内核翻译成 nftables 执行。直接手写 nftables 规则时要注意与这些软件的共存问题。语法上,nftables 用 nft 命令管理,规则组织为表(table)→ 链(chain)→ 规则(rule),支持把 IP 集合、端口范围定义为命名 set 并原子更新。从 iptables 迁移的要点包括:规则翻译后的逐条复核、Docker 链的兼容验证、以及远程操作时防止把自己锁在外面的灰度切换策略。
示例
- 1.新装 Debian/Ubuntu 服务器上用 nft 配置基础的入站放行策略
- 2.把 iptables-save 导出的旧规则翻译成 nftables 语法并人工复核
- 3.用命名集合管理需要封禁的 IP 列表,一条命令批量增删