组网如上,sw1作为上行交换机,1/1/9和1/1/8组成聚合接口999,创建聚合子接口999.999与m-lag交换机对接
sw1相关配置
interface Route-Aggregation999
link-aggregation mode dynamic
interface Route-Aggregation999.999
ip address 99.1.1.1 255.255.255.0
创建ospf
ospf 100 router-id 94.94.94.94
area 0.0.0.0
network 96.1.1.0 0.0.0.255
network 99.1.1.0 0.0.0.255
sw2配置
interface Bridge-Aggregation996
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 999
link-aggregation mode dynamic
port m-lag group 996
interface Vlan-interface999
ip binding vpn-instance changsha_up
ip address 99.1.1.2 255.255.255.0
ospf peer sub-address enable 99.1.1.30
port m-lag virtual-ip 99.1.1.30 255.255.255.0 active
mac-address 0003-0003-0003
ospf 2013 router-id 213.1.1.1 vpn-instance changsha_up
area 0.0.0.0
network 99.1.1.0 0.0.0.255
network 213.1.1.0 0.0.0.255
sw3配置
interface Bridge-Aggregation996
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 999
link-aggregation mode dynamic
port m-lag group 996
interface Vlan-interface999
ip binding vpn-instance changsha_up
ip address 99.1.1.2 255.255.255.0
ospf peer sub-address enable 99.1.1.3
port m-lag virtual-ip 99.1.1.3 255.255.255.0 active
mac-address 0003-0003-0003
ospf 2013 router-id 213.1.1.2 vpn-instance changsha_up
area 0.0.0.0
network 99.1.1.0 0.0.0.255
network 213.1.1.0 0.0.0.255
现在的问题是,在sw1上只能ping通其中一台m-lag交换机,只能和一台m-lag建立邻居。请教下有什么配置没有配?
在sw1上操作
OSPF Process 100 with Router ID 94.94.94.94
Neighbor Brief Information
Area: 0.0.0.0
Router ID Address Pri Dead-Time State Interface
213.1.1.2 99.1.1.3 1 33 Init/ - RAGG999.999
213.1.1.1 99.1.1.30 1 32 Full/BDR RAGG999.999
ping 99.1.1.3无法ping通
Ping 99.1.1.3 (99.1.1.3): 56 data bytes, press CTRL+C to break
Request time out
Request time out
Request time out
Request time out
查看arp
99.1.1.2 0003-0003-0003 -- RAGG999.999 1164 D
99.1.1.3 0003-0003-0003 -- RAGG999.999 788 D
99.1.1.30 0003-0003-0003 -- RAGG999.999 788 D
# M‑LAG 双活网关 OSPF:只能一台建立 Full 邻居,另一台卡在 Init
## 现象复盘
1. sw1(上行)和 sw2(M‑LAG 主)`99.1.1.30`:**Full/BDR**,通信正常;
2. sw1 和 sw3(M‑LAG 备)`99.1.1.3`:**Init 状态,ping 不通**;
3. ARP 表:`99.1.1.2 / 99.1.1.3 /99.1.1.30`全部解析为**同一个 MAC:0003‑0003‑0003**。
>
> Init 状态含义:**sw1 收到 sw3 发来的 OSPF Hello 报文,但是 sw3 没有收到 sw1 的 Hello 报文;或者收到 Hello,报文中没有包含 sw3 的 Router‑ID**。
## 根因
1. **`ospf peer sub‑address enable`工作机制限制**
M‑LAG 双活三层网关 Vlan‑if999 接口,两台设备接口**主 IP 完全相同 99.1.1.2**;
`ospf peer sub‑address enable`用来附加一个独立的子网 IP,**仅用于 OSPF 邻居建立**。
- M‑LAG 聚合口 BAQ996 是二层聚合;OSPF Hello 是组播报文`224.0.0.5`;
- sw1 发出 OSPF 组播 Hello,通过动态聚合 RAGG999 哈希,**Hello 报文只会哈希到 M‑LAG 其中一台物理成员设备**;
- 报文到达 sw2(主),正常处理,邻居 Full;
- 相同组播 Hello 报文**不会同时发给 sw3**;sw3 只能收到单向 Hello,于是邻居卡在 Init;
- ARP 全部解析为 M‑LAG 虚拟 MAC,sw1 回包的 ARP 应答,也只会哈希到其中一台设备。
>
> 关键点:**二层聚合链路的组播报文哈希,报文只会走聚合组内其中一条物理链路,无法同时发给 M‑LAG 两台设备**,这是动态 LACP 聚合本身的行为,不是配置漏配。
> 你当前组网:上行使用**Route‑Aggregation 三层聚合子接口**对接 M‑LAG 的**Bridge‑Aggregation 二层聚合**,这个组网模型下,`ospf peer sub‑address enable`会出现该问题。
2. 补充:你手动写死`mac-address 0003‑0003‑0003`,两台 Vlanif 配置完全一样 MAC,会加剧 ARP 混淆,不建议手工固定 Vlanif 的 MAC。
## 三种可行解决方案(按工程推荐优先级排序)
### 方案 1【推荐】:拆成两个三层互联,不使用 M‑LAG 二层聚合对接 OSPF
>
> 规避二层聚合组播哈希问题,分别做三层点对点,每台 M‑LAG 交换机单独一条三层链路对接 sw1。
1. sw1 删除 Route‑Aggregation999.999 子接口;
2. sw1 拿出两个物理接口,分别配置三层 IP:`99.1.1.1/24`对接 sw2;`99.2.1.1/24`对接 sw3;
3. sw2/sw3 删除 BAQ996 上 VLAN999,分别在物理接口配置三层 IP,分别建立 OSPF 邻居;
>
> 优点:标准 H3C M‑LAG 双活网关 OSPF 最佳实践,邻居稳定,无 Init 问题。
### 方案 2:M‑LAG 侧保留二层聚合,上行 sw1 改用**静态聚合模式** + 开启聚合组播复制
>
> 注意:部分版本 Comware7,动态 LACP 聚合不支持组播复制,**需要把 sw1 的 Route‑Aggregation 改为 static 静态聚合模式**
```
#sw1配置修改
interface Route‑Aggregation999
link‑aggregation mode static
link‑aggregation multicast replicate enable
```
`link‑aggregation multicast replicate enable`:**聚合组内复制组播报文,组播帧同时发给聚合内所有成员链路**。
>
> 风险:
1. 动态 LACP 模式不支持该复制命令;必须静态聚合;
2. 组播复制会带来组播报文重复;
3. 部分版本 M‑LAG 场景下该方案仍然存在缺陷;生产优先方案 1。
### 方案 3:不使用`ospf peer sub‑address enable`,改用 EVPN‑VXLAN 分布式网关
>
> 如果是 AD‑Campus Fabric 场景,推荐 EVPN/VXLAN 分布式网关,underlay 分别点对点建立 OSPF 邻居,M‑LAG 只做业务接入,不在 M‑LAG Vlanif 上跑 OSPF。
## 当前配置问题点修正(现有配置错误)
1. **两台 Vlan‑interface999 不要手工配置相同 mac‑address**,删掉下面两行:
```
mac‑address 0003‑0003‑0003
```
M‑LAG 虚拟网关 MAC 由`port m‑lag virtual‑ip`自动生成,手工固化 MAC 会造成 ARP 混淆。
2. 确认 M‑LAG DFS‑group、peer‑link 状态正常
```
display m‑lag summary
display dfs‑group status
```
peer‑link 必须 up,M‑LAG 组 996 状态正常。
## 调试命令,确认单向报文现象
```
#sw3上开启debug,看是否只能收到Hello,无法回复报文上送
debugging ospf packet hello
terminal debugging
terminal monitor
display ospf peer verbose
display arp
```
>
> Init 状态现象:sw3 收到 sw1 的 Hello 报文,但是 sw1 收不到 sw3 发出的 Hello 应答,根源就是二层聚合的组播哈希,报文只走其中一条物理链路。
## 重要结论
- **不是漏配某一条命令,是组网模型问题**:上行三层聚合子接口对接 M‑LAG 二层聚合,OSPF 组播 Hello 报文经过 LACP 聚合哈希,只能到达 M‑LAG 其中一台设备,另一台只能收到单向 Hello,邻居卡在 Init。
- `ospf peer sub‑address enable`该特性的适用场景:**点对点三层链路对接 M‑LAG,不适合二层聚合对接 OSPF**。
想用方法2 但是不设置动态聚合的话 链路都不up了
想用方法2 但是不设置动态聚合的话 链路都不up了
没有这个命令啊 [borderh2-55.106.203.95-Vlan-interface999]ospf ps? ^ % Unrecognized command found at '^' position.
没有这个命令啊 [borderh2-55.106.203.95-Vlan-interface999]ospf ps? ^ % Unrecognized command found at '^' position.
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明