Q: 单核高会导致什么异常?
A: 1)老版本:注意老版本涉及单核高全核阻的问题,即单核高了会导致整机转发出现问题:
https://zhiliao.h3c.com/Theme/details/183036
2)新版本:新版本解决了单核高全核阻的问题,但是某一个单核高了,hash到这个单核的流量仍然会有受损
%Mar 7 05:14:57:039 2023 H3C-FW SIB/6/SIB_CORE_ATTACK_DROP: -Chassis=1-Slot=3.1; Dropped 425318 packets because of core attack. %Mar 7 05:39:57:068 2023 H3C-FW SIB/6/SIB_CORE_ATTACK_DROP: -Chassis=1-Slot=3.1; Dropped 1513055 packets because of core attack. %Mar 7 06:04:57:095 2023 H3C-FW SIB/6/SIB_CORE_ATTACK_DROP: -Chassis=1-Slot=3.1; Dropped 184119 packets because of core attack. %Mar 7 06:09:57:722 2023 H3C-FW SIB/6/SIB_CORE_ATTACK_DROP: -Chassis=1-Slot=5.1; Dropped 280647 packets because of core attack. %Mar 7 06:24:57:119 2023 H3C-FW SIB/6/SIB_CORE_ATTACK_DROP: -Chassis=1-Slot=3.1; Dropped 955602 packets because of core attack.
单核高的处理思路
所有V7的安全硬件设备(不包括-V这种部署在服务器上的虚拟设备),在运行流量转发、nat、LB、VPN、安全策略等功能时都需要消耗设备的CPU硬件资源,这就会导致大流量的情况下,CPU占用率较高。此时可以通过display cpu查看当前CPU整体占用率。
防火墙单CPU(盒子设备一般就一颗CPU,分布式设备一般一块板卡一颗CPU或一个子卡一颗CPU)目前在网的大部分型号都是非X86的,一颗CPU会虚拟出多个VCPU,俗称单核。流量上墙后如果要上CPU处理,默认的是根据源地址hash上到某一个单核处理,即源地址相同的流都上到同一个单核处理。
查看单核的命令举例如下:
说明:如上一个cpu虚拟出了48个单核,主要看第二列单核5秒内的使用率,如果单核5秒内的使用率≥100/48(2.1%),那么说明此单核已满,数值接近也需要注意。
导致单核高的常见的有如下几种情况:
1)正常流量导致单核高;
2)攻击流量导致单核高;
3)环路导致单核高;
上述三种情况总结一句话就是某一条或几条流量非常大导致单核被占满。所以排查问题的主要思路就是找到影响单核的流量的三元组信息。然后根据三元组继续判断是否是异常流量,如果是异常流量,那么需要在上行设备配置阻断(防火墙上配置阻断需要消耗CPU算力,效果可能不明显),如果是正常流量在具体判断是否可以开启逐包转发等。
一、新版本:
高端和中低端新版本都支持如下命令直接查看单核占用的记录,display attack-defense cpu-core flow info chassis X slot Y cpu 1 (X=框号,Y=槽位号)查看对应板卡处理的攻击流量。
注:(1)该命令需要升级M9000 R9153P38版本或更新、M9000S R9724P38版本或更新才能支持。(2)需要在单核高的时候使用,下降之后无法查询到。
表1-1 display core-attack flow info 命令显示信息描述表
字段 | 描述 |
Hardware Buffer Full | 驱动公共硬件队列是否已满,其取值包括如下取值为: · · |
Time | 当前信息收集结束的时间 |
CPU ID | 流量上送的CPU ID |
SMAC | 攻击流的源MAC地址 |
DMAC | 攻击流的目的MAC地址 |
VLAN ID | 攻击流的VLAN ID |
Interface | 攻击流的入接口 |
SIP | 攻击流的源IP地址 |
DIP | 攻击流的目的IP地址 |
Pro | 攻击流的协议类型 |
SPort | 攻击流源端口(只有TCP/UDP协议支持显示端口) |
DPort | 攻击流目的端口(只有TCP/UDP协议支持显示端口) |
CPU Usage | 当前的攻击流所消耗CPU的百分比 |
IfIsolate | 隔离表项是否成功下发硬件,其取值包括如下: · · |
上述命令说明1框3槽位前插CPU的第45个核被 SIP:172.28.48.65--> DPI:2.2.2.2这条流量占用了98%,当前buffer已释放。
接下来就是判断这条流量是否是正常业务流量,还是异常流量,异常流量阻断后观察即可。
二、老版本:
老版本没有上述命令直接查看单核占满的记录,需要手工配置一个EAA脚本实现自动化监控。
举例如下:
注意,打满设备单核的流量可能是正常业务流量,也可能是异常流量,需要先判断这个,然后再看解决方案。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作