本周一早间上班时段,接入终端无法 ping 通 VRRP 虚拟网关,业务中断。 现场特征:
本次故障不是软件版本缺陷,现有版本运行稳定,不需要升级。是 MAC 准入机制在特定条件下触发的二层转发异常。
该故障属于条件触发型偶发问题,并非每次周末、节假日都会出现。
补充说明:H3C VRRP 默认仅在主备角色切换瞬间发送一次免费 ARP;网关身份稳定不变时,路由器不会周期性发送免费 ARP。VRRP 心跳通告报文是发给对端备份路由器的组播报文,不能让交换机学习 VRRP 虚拟 MAC。 本次周末期间 VRRP 主备没有发生切换,路由器不会主动发送免费 ARP 报文,交换机没有机会重新学习 VRRP 虚拟 MAC,MAC 条目持续缺失。
关键点:故障必须满足【全部终端下线,所有 MAC 认证会话全部超时清零】这个前置条件才会发生,属于低概率、偶发触发的机制问题,不是必现故障。
将 VRRP 虚拟 MAC 加入 mac-authentication 免认证列表,该 MAC 永远不会被准入模块清理
system-view
mac-authentication free-mac 0000-5e00-01XX
替换 XX 为现场实际 VRID 对应的真实 MAC
开启定时发送免费 ARP 功能,持续刷新交换机 MAC 表,防止条目丢失
system-view
vrrp send-gratuitous-arp interval 180
路由器互联端口属于信任设备,不需要 MAC 认证,避免误拦截报文
interface GigabitEthernet 1/0/X
undo mac-authentication
undo dot1x
请问这种解决方案合理么 正确吗
MAC准入会话全部清零,MAC准入模块启动批量清理动作,清除VLAN内所有动态学习、不在免认证白名单的MAC地址MAC‑authentication 不会全局批量清空 VLAN 下所有动态 MAC 地址。 MAC 地址认证只会删除对应接入端口上由认证生成的安全 MAC 表项;普通动态学习的 MAC 地址,遵循芯片正常 MAC 老化时间,不会被 mac‑authentication 模块批量清除全 VLAN 的动态 MAC 条目H3C。
真实发生的完整机理还原:
周末所有终端全部关机,交换机没有任何终端流量触发 ARP 请求。VRRP 虚拟 MAC 的动态 CAM 表项,依靠普通 MAC 老化计时器超时自然老化消失。 因为没有任何终端发送 ARP 请求,没有报文刷新 CAM 表,虚拟 MAC 硬件表项彻底老化清空。 周一上班终端开机,终端 ARP 请求网关 VIP,但是此时: ① 交换机开启未知单播抑制 ntkonly,去往 VRRP 虚拟 MAC 的单播报文直接丢弃; ② 去往虚拟 MAC 的报文被直接丢弃,ARP 请求根本到达不到 VRRP Master 路由器;路由器收不到 ARP 请求,不会回复 ARP 应答,交换机也就永远无法重新学习虚拟 MAC 硬件表项。 交换机本机 CPU 发起的 ping,是 CPU 自身处理,不走硬件转发,不受 ntkonly 限制,所以交换机本身可以通。
MAC‑authentication 在这里是间接条件: 如果网络内有任意一台在线终端持续收发流量,会存在 ARP 交互,会周期性刷新 VRRP 虚拟 MAC 的 CAM 表,就不会出现表项老化消失; 当全部认证会话全部消失,网络没有任何终端流量,没有 ARP 交互,虚拟 MAC 才会被正常老化掉。 并不是 MAC 准入模块主动把 VRRP 虚拟 MAC 给删掉。
mac‑authentication free‑mac这个命令作用
mac‑authentication free‑mac的含义:源 MAC 为该 MAC 的报文,不需要做 MAC 地址认证直接放行;
⚠️free‑mac ≠ 静态固化硬件 MAC 地址表项!!!
很多人有误解:配置 free‑mac 不等于在 MAC 地址表生成静态 CAM 条目。free‑mac 只是放过该源 MAC 的报文;如果没有该源 MAC 的流量经过交换机,硬件 CAM 表依旧会正常老化消失。 👉所以只配置 free‑mac 不足以根治问题,这是原方案最大风险点。
原配置:
mac‑authentication free‑mac 0000‑5e00‑01XX✅作用:防止上行路由器发过来的源 MAC=VRRP 虚拟 MAC 的报文被 MAC 认证拦截。 ❌局限:不能阻止硬件 CAM 表项老化消失。没有流量经过交换机,虚拟 MAC 依然会被老化,该配置只能做辅助,不能单独作为根治手段。 根治正确做法二选一(推荐配置静态 MAC):
# 将VRRP虚拟MAC配置成静态MAC,固化在硬件CAM,永不老化
mac‑address static 0000‑5e00‑01XX GigabitEthernet1/0/X vlan XX
# 同时保留free‑mac,避免报文被mac‑authentication拦截
mac‑authentication free‑mac 0000‑5e00‑01XX
⚠️接口是上联路由器的 Trunk 接口,VLAN 是网关业务 VLAN。静态 MAC 配置错端口 / VLAN 会直接故障。
vrrp send‑gratuitous‑arp interval 180✅评估:该命令 Comware7 MSR 平台支持,属于非常好的兜底手段H3C。
只有 Master 设备会周期发送携带 VRRP 虚拟 MAC 的免费 ARP 报文,报文流经接入交换机,周期性刷新交换机硬件 CAM 表,防止虚拟 MAC 被老化清除。 注意:该命令是系统视图全局配置,两台 VRRP 路由器都配置,只有 Master 角色生效,Backup 不会发送免费 ARP。 建议 interval 不要过小,180‑300 秒区间合理。
注意:免费 ARP 报文到达交换机,交换机必须开启
gratuitous‑arp‑learning enable(设备默认开启,一般不用改),才可以根据免费 ARP 报文学习 MAC。
interface GigabitEthernet 1/0/X
undo mac‑authentication
undo dot1x
✅评估:完全正确,必须配置。上联对接网关 / 路由器的 Trunk 口属于信任端口,不需要任何准入认证,防止把网关报文做 MAB 认证,引发异常。
display port‑security interface GigabitEthernet 1/0/X
故障的直接触发开关就是ntkonly(need‑to‑know)未知单播抑制。 业务评估:如果业务允许 VLAN 未知单播泛洪,可以直接关闭 ntkonly,问题也不会复现;如果安全要求必须开启 ntkonly,则必须上面静态 MAC + 周期免费 ARP 双保险。
0000‑5e00‑01‑VRID(十六进制),确认 VRID,MAC 不要写错。display mac‑address static
确认 VRRP 虚拟 MAC 已经静态绑定在上联接口 + 业务 VLAN,类型为 Static。
system‑view
#1 信任上联口,关闭准入
interface GigabitEthernet 1/0/X
undo mac‑authentication
undo dot1x
quit
#2 free‑mac放行VRRP虚拟MAC报文,防止MAB拦截
mac‑authentication free‑mac 0000‑5e00‑01XX
#3 关键根治:配置静态MAC固化硬件CAM表,永不老化
mac‑address static 0000‑5e00‑01XX GigabitEthernet 1/0/X vlan XX
#4 查看确认
display mac‑address static
display mac‑authentication
⚠️注意:G1/0/X 填写上联路由器的接口,VLAN XX 填写网关业务 VLAN,0000‑5e00‑01XX 替换实际 VRRP 虚拟 MAC。
system‑view
#开启VRRP周期免费ARP兜底,仅master生效,180秒刷新
vrrp send‑gratuitous‑arp interval 180
#查看配置生效
display vrrp verbose
补充说明:
- 静态 MAC 是主根治手段;周期免费 ARP 作为双重兜底;free‑mac 用于放行报文,三者配合。
- 如果后续修改 VRID,必须同步修改交换机上静态 MAC 与 free‑mac。
#看硬件MAC地址表,确认VRRP虚拟MAC是否存在
display mac‑address vlan X
#查看端口安全ntkonly状态
display port‑security brief
#查看mac‑authentication free‑mac列表
display mac‑authentication
#交换机CPU层面ARP表(和硬件MAC表不是一回事)
display arp
一句话总结:原文档故障现象、触发场景、加固方向是对的,但对 MAC‑authentication 清理 MAC 表的机理描述不准确;并且误认为 free‑mac 可以固化硬件 MAC,这点存在风险,需要增加
mac‑address static静态 MAC 配置作为根治手段,再配合路由器周期性免费 ARP 兜底,才是完整可靠的方案。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论