×

判断系统使用的是 iptables 还是 nftables

Falcon 2025-05-22 views:
自动摘要

正在生成中……

✅ 方法一:查看 iptables 是否是“nft” backend 模式

运行以下命令:

sudo iptables -V

输出中如果看到:

iptables v1.8.x (nf_tables)

说明:你虽然运行的是 iptables 命令,但它实际上 使用的是 nftables 内核子系统(nf_tables backend)

如果你看到的是:

iptables v1.8.x (legacy)

说明:系统使用的是传统的 iptables


✅ 方法二:使用 update-alternatives 查看默认使用哪种规则集

sudo update-alternatives --display iptables

你可能会看到:

iptables - auto mode
  link best version is /usr/sbin/iptables-nft

iptables - auto mode
  link best version is /usr/sbin/iptables-legacy

✅ 方法三:直接查看 nft 的规则是否生效

sudo nft list ruleset
  • 如果看到规则很多,说明系统在用 nftables
  • 如果返回空的,系统可能是纯 iptables

✅ 方法四:检查内核模块加载情况

lsmod | grep nft

如果你看到有如下模块,比如:

nf_tables
nft_chain_nat
nft_ct

说明 nftables 已经启用。


⚠️ 补充说明:

  • 在 Debian 10+ / Ubuntu 20.04+,默认已切换到 nftables(但仍兼容 iptables 命令)
  • CentOS 8/RHEL 8 也默认使用 nftables
本文收录于