nftables 处理复杂连接追踪逻辑的性能优化

夏枫酱_7904

夏枫酱_7904

2026-09-28

451人浏览

原创

nftables性能优化核心是让conntrack状态匹配尽早、从轻、不拖慢其他包:将established/related规则置于input/forward链首位,紧接invalid drop;对dns等无状态流量用raw表notrack跳过;禁用非必要ct扩展并避免在状态规则后混入log/counter等高开销操作。

nftables 处理复杂连接追踪逻辑的性能优化

nftables 处理复杂连接追踪逻辑时,性能瓶颈往往不在规则数量本身,而在于 conntrack 状态判断路径是否冗余、是否被高频流量反复触发、以及是否与非必要操作耦合。优化关键不是“怎么写状态匹配”,而是“让状态匹配这件事尽可能早、尽可能轻、尽可能不拖慢其他包”。

把 ESTABLISHED/RELATED 放在链最顶端,且只放这一类规则
已建立连接通常占实际流量 70%–90%,它们不需要策略决策,只需快速放行。这条规则必须是 input 和 forward 链的第一条:
nft add rule inet filter input ct state established,related accept
紧随其后可加一条快速过滤非法状态的规则:
nft add rule inet filter input ct state invalid drop
这样,绝大多数包在第 1–2 步就结束匹配,后续所有端口、IP、协议、日志等规则完全跳过。

对无需状态跟踪的流量,直接绕过 conntrack
DNS 响应、健康探针、内部服务间无状态通信等场景,根本不需要 conntrack 参与。用 raw 表 notrack 显式跳过:
nft add rule ip raw PREROUTING udp dport 53 notrack
nft add rule ip raw PREROUTING ip daddr @local_nets notrack
这能显著降低 conntrack 表压力,避免哈希冲突、内存争用和超时清理开销。

慎用 ct helper、ct timeout 和 ct label 等扩展功能
这些特性虽增强语义表达能力,但每启用一个,conntrack 条目就要多维护一份上下文、多一次回调、多一次内存分配。生产环境若无明确需求(如 SIP/FTP 协议穿透),建议禁用:
echo 0 > /proc/sys/net/netfilter/nf_conntrack_helper
同时调小非关键连接的超时值,例如:
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=600

避免在 conntrack 触发路径中混入高开销动作
log、counter、limit、payload 深度匹配(如 @th,4,2)等操作一旦出现在 ct state established 规则之后或同一链中,会强制所有已建立连接包都执行这些动作——哪怕只是计数一次,高并发下也会引发软中断风暴。正确做法是:

  • log 仅用于调试,且严格限定条件(如 tcp dport 22 ct state new log prefix "SSH_NEW")
  • counter 仅保留在限速或告警链路中,其余一律移除
  • 真实统计需求改用 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

4185

12

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

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

2025.11.04

375

21

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

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

2023.06.21

3690

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3213

10

linux find
linux find

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

2023.06.30

2273

5

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

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

2023.07.05

5470

7

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

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

2023.07.06

5122

7

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

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

2023.07.20

3053

8

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

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

2023.07.20

2565

4

热门下载

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

精品课程

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

共6课时 | 54.6万人学习

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

共89课时 | 133.2万人学习