文章

H3C接入层下主机每隔五分钟丢几个包原因

公司车间接入层下的一个生产主机持续出现卡顿的情况,使用ping工具检测了一段时间,发现丢包非常有规律,每隔五分钟丢几个包。找到接入层交换机进入后台发现出现大量的PORTSEC_VIOLATION日志报错,分析过程如下:

802.1X认证失败

由于开启了macAddressOrUserLoginSecure模式,会优先进行802.1X认证:

image-20250428094209100

image-20250428095011659

如果认证成功,使用802.1X认证上网没有任何问题。但是某些原因认证失败后,会进行第二优先级的MAC地址认证,认证通过可以上网:

MAC地址认证上网

image-20250512094824267

但是发现查看调试日志,每隔五分钟到期后需要重新认证:

image-20250512145514799

在这期间就会出现短暂的断网,但是是会认证成功的:

image-20250512145541103

那为什么五分钟后的下线检测会把这个我们已经认识的MAC当作“new mac address”呢,我百思不得其解。

MAC地址老化策略

后来看到端口的安全端口配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<HF.BGL.2F.CGB.H3C.3110.02>display port-security interface e1/0/1
 Equipment port-security is enabled
 Trap is disabled
 AutoLearn aging time is 0 minutes
 Disableport Timeout: 20s
 OUI value:

 Ethernet1/0/1 is link-up
   Port mode is macAddressOrUserLoginSecure
   NeedToKnow mode is disabled
   Intrusion Protection mode is NoAction
   Max MAC address number is 1
   Stored MAC address number is 1
   Authorization is permitted
   Security MAC address learning mode is sticky
   Security MAC address aging type is absolute

关键是Security MAC address aging type is absolute,然后我就查了一下他的老化时间:

1
2
<HF.BGL.2F.CGB.H3C.3110.02>display mac-address aging-time 
Mac address aging time: 300s

好家伙,五分钟直接无条件删除,怪不得会不认识这个MAC地址,真相大白了。

大量端口入侵日志的原因(待施工🚧)

image-20250512105217556

由于查看日志出现了大量的端口入侵日志,查询H3C手册后对此类日志的定义:

image-20250427140245288

再仔细观看日志规律,每30秒会重新认证一波,查看配置是设置了 Supp timeout的值为30 s,并且没有开启静默定时器:

image-20250512105533735

因此判断出现端口入侵日志是后台在进行802.1X认证。这是端口配置了安全MAC,而识别到不安全的MAC地址后,就会持续在日志中告警。

端口安全模式:

image-20250428094141265

我修改了最大安全MAC为2后网络恢复正常,因为此时不会由于802.1X认证而出发端口入侵,从而反复的触发802.1X的重认证定时器导致断网一分钟,同时所有端口认证都变为了802.1X认证。

本文由作者按照 CC BY 4.0 进行授权