防火墙CPU频繁升高导致丢包案例一则

2024-03-26 16:44

本文主要是介绍防火墙CPU频繁升高导致丢包案例一则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关键词

  • 防火墙、cpu load、丢包
  • 限速、ACL
  • kdrvdp、debugging

     There are many things that can not be broken!

     如果觉得本文对你有帮助,欢迎点赞、收藏、评论!

一、问题现象

核心防火墙在业务高峰时间段,及日常配置安全策略提交/删除/修改后,都会触发CPU(Chassis 1 slot 2 CPU 1)升高现象,并导致业务网络丢包,网络时延大,故障频繁发生。

二、问题分析

通过普通的排查方式,查看高峰期时新建会话数top10,发现都是正常的业务;查看各端口流量,无异常;检测大流量分析查看IP流量,也没有异常的增高点。

故障现象的共同点是,每次CPU升高都是Chassis 1 slot 2 CPU 1同一块CPU,查看每块板卡上承载的业务,对比Chassis 1 slot 3 CPU 1与Chassis 1 slot 2 CPU 1没有区别,会话量一致,丢包率也一致;每次CPU告警的同时伴随vCPU核都会升高, 其中kdrvdp线程cpu负载上涨明显,而kdrvdp主要作用是处理转发业务流量。

三、处理过程

根据普通的排查方式抓取的会话数、流量、端口情况均未发现明显异常点,故准备在debug模式下抓取异常时的包文件进行分析:

1、先开启terminal monitor和terminal debugging;

2、设定监控阈值:monitor cpu-usage threshold 60 chassis 1 slot 2 cpu 1 core 4 to 47;

3、开启监控窗口:双击打开packet-capture.bat;

4、第一次当CPU值达到60%以上持续10秒钟,就会提示告警,并打印告警

5、对报文进行分析:

发现在故障时,抓包发现有两个高频出现的IP,产生了大量数据包。

尝试对高频的IP客户端的流量手工引流到其他板卡进行观察,查看板卡上丢包情况,与之前无明显区别,无明显效果;说明问题点不在两个高频IP问题上。

6、NAT映射的分析

故障板卡上有做NAT映射的配置,NAT映射的流量全部集中故障号板。怀疑可能是nat映射的流量导致,尝试对nat映射流量做了分流验证,查看板卡上丢包情况,但没有改善,问题依旧。

7、继续跟踪分析cpu核心处理信息,发现中间经历了ACL的过程,期间也有读锁过程,锁被ACL拿到后,发现没有其余足够的资源了,从而导致CPU使用率升高。

8、跟踪查看这段ACL策略,ACL有个加速功能未开启,同时发现ACL下条目非常多,依次回退之前的操作,关闭引流,测试开启这条ACL的accelerate加速功能。操作后,再次观察核心防火墙的运行状态,测试提交安全策略和高峰时期,CPU不再继续升高,故障问题解决。

9、故障原因最终定位是防火墙老的内核版本下有限速功能,且默认关闭模式,虽通过开启加速功能后,故障问题得以改善,考虑到防火墙老版本下还存在其他隐患点,在综合评估后,对防火墙系统做了一次版本升级,彻底解决该问题并防范其他隐患发生。

四、经验总结

防火墙CPU升高现象常有发生,当遇到常规操作和排查手段都经历了一遍无果时,不妨丰富排查的手段,例如开启debug抓取更多日志,一步一步查看后台消耗CPU的模块及异常问题点,同时根据发生的问题最小化测试定位验证问题,并最终解决问题。本次防火墙CPU高原因主要有2个:版本内核默认有CPU限速功能未开启;同时过多的ACL长连接检测导致CPU耗尽。后期产品运行过程中,针对厂商推荐的升版补丁,应在做好充分评估的前提下,考虑及时对版本进行一个升级割接,优化老配置下官方发布的一些已知隐患点,避免一些故障的发生。

这篇关于防火墙CPU频繁升高导致丢包案例一则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/849174

相关文章

问题-windows-VPN不正确关闭导致网页打不开

为什么会发生这类事情呢? 主要原因是关机之前vpn没有关掉导致的。 至于为什么没关掉vpn会导致网页打不开,我猜测是因为vpn建立的链接没被更改。 正确关掉vpn的时候,会把ip链接断掉,如果你不正确关掉,ip链接没有断掉,此时你vpn又是没启动的,没有域名解析,所以就打不开网站。 你可以在打不开网页的时候,把vpn打开,你会发现网络又可以登录了。 方法一 注意:方法一虽然方便,但是可能会有

java中查看函数运行时间和cpu运行时间

android开发调查性能问题中有一个现象,函数的运行时间远低于cpu执行时间,因为函数运行期间线程可能包含等待操作。native层可以查看实际的cpu执行时间和函数执行时间。在java中如何实现? 借助AI得到了答案 import java.lang.management.ManagementFactory;import java.lang.management.Threa

【Python如何输入升高和体重判断你是偏胖还是偏瘦】

1、求体质指数得Python代码如下: # BMI(Body Mass Index)指数:简称体质指数,# 是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。# 常用指标:BMI<18.5 偏瘦 18.5<=MBI<=24 正常 MBI>24 偏胖# 计算公式:BMI=体重kg/身高的平方ma = eval(input("请输入你的体重(kg):")) # 输入体重b = e

ROS2从入门到精通4-4:局部控制插件开发案例(以PID算法为例)

目录 0 专栏介绍1 控制插件编写模板1.1 构造控制插件类1.2 注册并导出插件1.3 编译与使用插件 2 基于PID的路径跟踪原理3 控制插件开发案例(PID算法)常见问题 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。 🚀详情:《ROS2从入门到精通》 1 控制插

django学习入门系列之第三点《案例 小米商城头标》

文章目录 阴影案例 小米商城头标往期回顾 阴影 设置阴影 box-shadow:水平方向 垂直方向 模糊距离 颜色 box-shadow: 5px 5px 5px #aaa; 案例 小米商城头标 目标样式: CSS中的代码 /*使外边距等于0,即让边框与界面贴合*/body{margin: 0;}/*控制父级边框*/.header{backgroun

MATLAB算法实战应用案例精讲-【数模应用】三因素方差

目录 算法原理 SPSSAU 三因素方差案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果 5、文字分析 6、剖析 疑难解惑 均方平方和类型? 事后多重比较的类型选择说明? 事后多重比较与‘单独进行事后多重比较’结果不一致? 简单效应是指什么? 边际估计均值EMMEANS是什么? 简单简单效应? 关于方差分析时的效应量? SPSSAU-案例 一、案例

Retrofit介绍案例

Retrofit这东西我就不多做解释了,反正最近应用很广,基本都快和OkHttp一起成为安卓的事实网络访问标准框架了。   这么好的一个东西,官网文档实在是不算太好,说的不太清晰。按官网的经常会有“Could not locate ResponseBody converter for”问题。 反正折腾了一番,终于跑出来了一个例子。这里把正确的例子写出来,方便大家参考。 首先要注意

Kimichat使用案例026:AI翻译英语PDF文档的3种方法

文章目录 一、介绍二、腾讯交互翻译TranSmart https://transmart.qq.com/三、沉浸式翻译三、谷歌网页翻译 一、介绍 短的文章,直接丢进kimichat、ChatGPT里面很快就可以翻译完成,而且效果很佳。但是,很长的PDF文档整篇需要翻译,怎么办呢? 二、腾讯交互翻译TranSmart https://transmart.qq.com/ 软件

关于CPU的一点知识

首先说一下,CPU是干啥的: CPU所负责的就是解释和运行最终转换成机器语言的程序内容 我们需要知道的CPU结构:重点需要关注寄存器 运算器 简单说就是负责运算从内存读取到寄存器中的数据,可以看作一个数据加工厂,就是对寄存器中的数据做运算,这些运算包含基本的算术和逻辑运算。 算术逻辑单元(ALU) 这个是运算器中重要的一个组成,主要负责的就是对数据的处理,从而实现对数据的算术和

内存填充越界 + malloc空间不够导致越界

【创建时间:2014-11-1 11:50】 [2014-10-31]:环境:系统:Linux版本:3.08    平台:Hisi3516c。 内存填充越界: 问题: 申请了一个2048字节局部静态的变量存储一个固定RGB值,方便后续画框、线时快速copy。但是在第一次赋固定值时,越界了,导致内核自动向应用程序 发送信号 SIGBUS(7)给应用程序,导致应用程序异常