nftables 表与规则管理:如何实现高效的规则集部署

云静酱_4498

云静酱_4498

2026-06-28

472人浏览

原创

nftables 核心是用结构化层级(表→链→规则)和原子操作替代命令拼凑:表按场景隔离(如 inet filter/nat),链依 priority 控制执行顺序,规则借集合高效匹配万级条目,部署推荐文件+原子加载。

nftables 表与规则管理:如何实现高效的规则集部署

nftables 表与规则管理的核心在于**用结构代替拼凑,用原子操作代替反复刷写**。它不靠堆命令行,而是靠清晰的层级(表→链→规则)和可复用的数据结构(如集合、映射)来支撑高效部署。

表:按用途隔离,避免混杂

表不是功能标签,而是逻辑命名空间。推荐按场景建表,而不是照搬 iptables 的 filter/nat/mangle 划分:

  • 统一用 inet 协议族:同时覆盖 IPv4 和 IPv6,省去双栈重复配置
  • 主机防护用 inet filter:放行回环、已连接、必要服务,其余默认 drop
  • 容器或转发流量单独建表,比如 inet forward 或 inet docker:避免和主机策略耦合,Docker 启动时也不易冲突
  • NAT 相关集中到 inet nat:DNAT、SNAT、端口转发全在此表定义,便于审计和迁移

链:优先级可控,执行顺序明确

链决定规则何时生效。基础链必须绑定 hook 和 priority,数字越小越早执行:

PhotoStudio AI
PhotoStudio AI

PhotoStudio AI是虹软科技推出的电商 AI 智能商拍服务平台。

下载
  • input 链设 priority 0:适合做第一层过滤(如黑名单拦截)
  • established 检查放在 priority 10:保证已建连流量快速通过,不卡在黑名单后
  • 服务放行(SSH/HTTP)放在 priority 20:白名单兜底,防止误封
  • 自定义链用于模块化:例如 nft add chain inet filter logging { type filter \; },再用 jump logging 复用日志逻辑

规则:少而准,靠集合撑规模

万级 IP 或端口不能靠写一万条规则。真正高效的规则,往往只有几行:

  • 一条规则引用一个集合:nft add rule inet filter input ip saddr @blacklist drop,集合里可存 5 万个 IP + 网段,匹配仍是毫秒级
  • 集合启用 interval 和 timeout:支持 CIDR(如 192.0.2.0/24)和自动过期,不用定时 flush
  • 状态匹配直写,不加模块:用 ct state established,而非旧式 -m conntrack --ctstate ESTABLISHED
  • 端口范围直接写 tcp dport { 22, 80-443 },语义清晰,无需拆成多条

部署:一次加载,持久可靠

避免逐条执行 nft 命令——容易中断、难回滚、无法校验。推荐用文件+原子加载:

  • 所有规则写进 /etc/nftables.conf:格式为 nftables 原生语法,支持 include
  • 用 nft -f /etc/nftables.conf 一次性加载:失败则整套不生效,无中间态
  • 开机自动加载依赖 systemd 服务:Debian/Ubuntu 启用 nftables.service;RHEL/CentOS 检查 /etc/sysconfig/nftables-config 中的 NFTABLES_CONF
  • Ansible 等工具分发时,先 template 渲染,再 command 加载,最后 shell 校验 nft list chain inet filter input

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

4805

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

415

21

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4110

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3493

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2693

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6570

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6222

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3613

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3105

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.8万人学习