直接运行 nft list ruleset 可查看当前内核生效的所有 nftables 规则;systemctl status nftables 检查服务单元状态,确认规则是否开机加载;nft list tables 列出已定义表,nft list table ip filter 或 nft list chain ip filter input 定位具体规则,加 -a 显示 handle;验证生效需结合端口监听检查与 counter 规则测试。

直接运行 nft list ruleset 就能看到当前生效的所有 nftables 规则,包括表、链和具体规则,这是最核心的状态查看方式。
确认 nftables 服务是否运行
系统级服务状态需单独检查:
- 执行 systemctl status nftables,看输出中是否显示 active (exited) 或 active (running);若为 inactive,说明规则虽可能已加载(如通过脚本),但服务未启用
- 注意:nftables 本身是无守护进程的工具,
nft命令直接操作内核,所以 “运行状态” 实质指规则是否已载入内核 + 服务单元是否配置为开机加载
列出所有已定义的表
只关心有哪些表存在,不展开规则:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
nft list tables —— 显示当前内核中所有已创建的表(如
ip filter、inet firewall) - 加上协议族限定更精准,例如:nft list tables ip 只查 IPv4 表
查看指定表或链的详细规则
定位到具体结构层级排查问题:
- nft list table ip filter —— 查看 filter 表全部内容(含链和规则)
- nft list chain ip filter input —— 只看 input 链的规则顺序和匹配条件
- 加
-a参数可显示每条规则的自动生成 handle 编号,便于后续插入/删除:nft list chain ip filter input -a
验证规则是否真正生效
仅看输出不够,要确认内核实际处理行为:
- 用 ss -tln 或 netstat -tln 查看监听端口,再比对 nft 规则是否允许对应 dport
- 临时添加一条带计数器的测试规则,比如:nft add rule ip filter input tcp dport 8080 counter,然后访问该端口,再运行 nft list chain ip filter input 看 counter 值是否增长
- 检查是否有更高优先级的其他表(如
inet表)或冲突规则干扰










