使用HCL模拟器V5.10.3版本做模拟配置指导手册"1.25.3 M-LAG双活网关场景下通过动态路由接入M-LAG配置举例"时,发现组建m-lag的两台交换机有时候会出现arp学习的问题【m-lag的peer-link、keepalive、m-lag接口均处于UP状态】其问题现象为:
1.双活网关需要配置一致的mac地址,而在vlanif下配置mac-address后,port m-lag virtual-ip配置的地址及接口下的主用IP,在对端交换机上无法正常通过arp学习到,也无法正常ping通。
解决步骤:
1.先删除两台交换机上业务网关配置的mac-add地址,在本/对端交换机上实验ping -a命令指定本端源IP[port m-lag virtual-ip地址]去ping对端的port m-lag virtual-ip地址。检查两端交换机的arp表项,确定已学习到对端的arp信息。
2.为两台交换机设备的业务网关添加添加一致mac-address ,再次检查arp表。继续指定源地址去ping对端设备的virtual-ip地址。
3.如果ping不通,需要在业务网关上将port m-lag virtual-ip *.*.*.* 24 active 配置重新配置一遍。
4.再次尝试ping,此时应该就可以通了。两台交换机设备之间的OSPF也可以正常组建了。

最佳答案
一、核心故障根源
1. 双活网关两套 MAC 机制冲突(问题本质)
DRNI M-LAG 双活网关存在两类 MAC:
VLANIF 手动配置静态统一 MAC:用户手动mac-address XXXX强制 VLANIF 接口 MAC,两台设备三层网关 MAC 完全相同;
M-LAG 虚拟网关 MAC:port m-lag virtual-ip会自动生成M-LAG 虚拟 MAC,用于双活 ARP 代答、流量转发。
冲突逻辑:
当先配置 VLANIF 静态统一 MAC,再配置 virtual-ip时:
三层接口真实 MAC 与 M-LAG 虚拟 MAC 重复;
设备 ARP 处理逻辑错乱:收到对端 virtual-ip 的 ARP 请求时,本地三层接口 MAC 与虚拟 MAC 冲突,ARP 报文静默丢弃,无法生成 ARP 表项;
跨设备 ping virtual-ip 不通,OSPF 邻居因三层不通无法建立。
2. HCL 模拟器 V5.10.3 特有兼容性 bug
模拟器 DRNI 模块初始化顺序存在缺陷:
先下发mac-address再下发port m-lag virtual-ip,虚拟网关 MAC 同步逻辑失效,peer-link 无法同步 ARP 表、虚拟网关 ARP 代答功能异常;
真实物理整机 S6520X/S6860 无此问题,仅模拟器复现该现象。
3. virtual-ip active 配置未刷新网关状态
静态 MAC 存在时,初次配置port m-lag virtual-ip X.X.X.X mask active不会自动刷新三层网关 ARP 代答模块,必须重新下发一次配置触发同步。
二、用户给出修复步骤原理拆解
删除 VLANIF 静态统一 MAC,先互通验证 ARP
移除 MAC 冲突源,M-LAG 虚拟 MAC 正常生效,peer-link 同步 ARP,两端 virtual-ip 可互相 ping 通,ARP 表正常学习,确认底层 DRNI 转发、peer 同步无硬件 / 链路问题。
重新添加 VLANIF 统一静态 MAC
后置配置静态 MAC,规避 MAC 初始化冲突时序问题。
重配 port m-lag virtual-ip active
重新下发虚拟网关配置,强制设备刷新三层双活网关、ARP 代答、peer 同步表项,消除 MAC 冲突带来的表项僵死。
验证连通性与 OSPF
ARP 正常学习,三层互通,动态路由 OSPF 正常建立 Full 邻接。
三、模拟器标准正确配置顺序(规避 ARP 异常)
正确下发顺序(严格遵守,避免 ARP 故障)
完成 DRNI 基础:peer-link、keepalive、M-LAG 聚合口 BAGG 配置,全部 UP;
创建业务 VLANIF 三层接口,先不配置 mac-address;
在 VLANIF 下配置 M-LAG 虚拟网关:
plaintext
interface Vlan-interface X
port m-lag virtual-ip 10.0.0.1 255.255.255.0 active
验证两端 virtual-ip 互相 ping 通,display arp可学习到对端 ARP;
最后配置双活统一静态 MAC(后置配置,不打乱虚拟网关初始化):
plaintext
interface Vlan-interface X
mac-address 0000-aaaa-bbbb
错误顺序(模拟器必出 ARP 不通)
先配置mac-address → 再配置port m-lag virtual-ip,MAC 时序冲突,ARP 代答失效。
四、补充排错命令(定位 ARP 异常)
查看 M-LAG 虚拟网关信息
plaintext
display m-lag virtual-ip
确认虚拟 IP、虚拟 MAC、active 状态正常同步到两台设备。
2. 查看 ARP 表,确认是否学习对端 virtual-ip
plaintext
display arp | include X.X.X.X
无条目 = ARP 报文被丢弃,MAC 冲突 / 虚拟网关未刷新。
3. 查看 peer 同步表项
plaintext
display drni summary
display drni peer running
确认 peer-link ARP、三层表项同步正常。
4. 查看 ARP 报文丢弃日志
plaintext
display logbuffer | include ARP
出现ARP packet conflict mac-address即确认 MAC 冲突根因。
五、总结
故障仅 HCL V5.10.3 模拟器复现,由配置时序颠倒导致:先配 VLANIF 静态统一 MAC,后配 M-LAG virtual-ip,两层 MAC 冲突,ARP 代答失效、无法学习 ARP;
标准修复逻辑:清空静态 MAC→验证三层互通 ARP 正常→重配统一 MAC→重新下发 virtual-ip 配置刷新网关;
模拟器最优操作规范:先配置 M-LAG 虚拟网关,最后配置 VLANIF 静态统一 MAC,从根源规避 ARP 学习异常。
你遇到的这个问题,在HCL模拟器的M-LAG双活网关配置中确实比较典型,通常与模拟器自身的机制和特定配置顺序有关。
你描述的解决步骤是有效的,核心思路是通过重建ARP表项并重新激活虚拟IP配置,来强制交换机重新学习。下面我为你梳理一下这背后的原理和操作细节。
按照你提供的思路,可以按以下步骤操作,确保每一步都验证清楚:
步骤1:清除MAC地址,验证基础ARP连通性
操作:在两台交换机的业务VLAN接口(VLANIF)下,删除之前配置的mac-address命令。
验证:在交换机上使用带源地址的Ping命令,测试对端的虚拟IP。例如,在SW1上执行 ping -a [SW1的virtual-ip] [SW2的virtual-ip]。
检查:使用 display arp 命令查看ARP表,确认是否能学习到对端虚拟IP的ARP条目。这是确保三层连通性的基础。
步骤2:重新配置一致的MAC地址
步骤3:(关键)重新激活虚拟IP配置
操作:如果步骤2后仍然不通,在两台交换机的业务VLAN接口下,重新配置一遍 port m-lag virtual-ip 命令。
注意:可以先用 undo port m-lag virtual-ip 删除原配置,再重新添加。配置时必须指定 active 参数,并确保虚拟MAC地址与步骤2中配置的网关MAC地址一致。
步骤4:最终验证
以下是在VLAN接口下进行正确配置的示例,注意虚拟MAC地址的一致性:
MAC地址一致性:两台M-LAG设备的业务网关MAC地址必须配置完全相同。这是双活网关的基本要求,也是导致ARP问题的常见原因。
配置顺序:推荐的顺序是:先配置接口IP,再配置mac-address,最后配置port m-lag virtual-ip。
虚拟MAC地址:port m-lag virtual-ip命令中的virtual-mac参数,必须与VLANIF下通过mac-address命令配置的MAC地址保持一致。
M-LAG基础状态:在排查前,务必确认peer-link、keepalive和m-lag接口都处于UP状态。
模拟器局限性:HCL模拟器(尤其是特定版本)可能存在一些已知限制或Bug。如果问题反复出现,可以考虑更换模拟器版本或在实际设备上验证。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论