nftables 规则集编写规范与性能优化实践

秋雪小哥_8837

秋雪小哥_8837

2026-07-16

818人浏览

原创

写好 nftables 规则集关键在“准”和“快”:高频 established/related 流量须顶置放行,invalid 状态紧随其后秒拒;用 map 替代线性规则实现 o(1) 查找;按 fastpath、policy、fallback 三层分链结构化设计;log 和 counter 须严格限条件,避免性能损耗。

nftables 规则集编写规范与性能优化实践

写好 nftables 规则集,关键不在“多”,而在“准”和“快”:高频流量要秒放,非法状态要秒拒,策略逻辑要分层,日志计数要克制。规则不是堆出来的,是结构设计出来的。

高频连接优先放行

ESTABLISHED/RELATED 连接通常占实际入站流量 70% 以上,它们不该参与任何业务策略判断。必须把这条规则放在 input 或 forward 链最顶端:

  • nft add rule inet filter input ct state { established, related } accept
  • 紧随其后建议加一条:nft add rule inet filter input ct state invalid drop,快速过滤掉非法连接状态,避免后续误匹配
  • 不要把它混在一堆端口放行规则中间——哪怕只晚一行,CPU 就得多做一次 conntrack 状态检查

用 map 替代长链式规则

当 IP 黑名单超过几百条、端口白名单超过几十个时,线性遍历规则会显著拖慢匹配速度。map 提供 O(1) 查找性能,适合大规模策略:

阿里云百炼
阿里云百炼

阿里云百炼是一款AI大模型工具,一站式大模型开发与应用构建平台。

下载
  • 创建映射:nft add map inet filter ip2verdict { type ipv4_addr : verdict \; size 65536 \; }(size 预设容量,防运行时扩容抖动)
  • 注入策略:nft add element inet filter ip2verdict { 192.0.2.100 : drop, 198.51.100.20 : accept }
  • 链中调用:nft add rule inet filter input ip saddr @ip2verdict
  • 不推荐用 set + if 语句替代 map,后者仍需遍历;map 是真正哈希查表

按意图分层拆解链结构

别把所有规则塞进一条 input 链。按处理目标划分为三层,每层专注一件事:

  • fastpath 链:只做轻量级判断——lo 接口、conntrack 状态、管理网段(如 10.0.0.0/8)放行,80% 流量在此终止
  • policy 链:挂载 map、concat、命名 set 等结构化策略,面向租户、服务或接口维度做精细化控制
  • fallback 链:仅保留 droplimit 类兜底动作,不掺杂任何 ACCEPT 或 log,确保路径干净、延迟可控

慎用 log 和 counter

log 和 counter 在高并发下会频繁触发软中断、内存写入与缓存刷新,是隐形性能杀手:

  • log 仅用于临时调试,生产环境若必须启用,务必加严格条件:tcp dport 22 ct state new,并带 prefix 如 "SSH-ATTEMPT: "
  • counter 除非用于限速(如 limit rate 5/minute)或告警联动,否则一律移除;nft list ruleset -a 才显示计数器,不影响运行时性能
  • 长期统计需求请绕过 netfilter:用 eBPF map 统计连接行为,或通过 /proc/net/nf_conntrack 获取连接跟踪摘要

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

优化实践

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

相关专题

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

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

2025.10.13

3925

12

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

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

2025.11.04

355

21

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

0

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

0

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

2026.09.21

0

12

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

20

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

热门下载

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

精品课程

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

共6课时 | 54.6万人学习

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

共89课时 | 133.1万人学习