• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

两台交换机组成m-lag双活网关,跑ospf动态路由,上行交换机只能和m-lag中的一台建立邻居

9小时前提问
  • 1关注
  • 1收藏,64浏览
eatt 零段
粉丝:0人 关注:1人

问题描述:

组网如上,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

 

 

 

 

 

 

 

 

3 个回答
eatt 知了小白
粉丝:0人 关注:1人
粉丝:29人 关注:2人

# 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了

eatt 发表时间:9小时前 更多>>

想用方法2 但是不设置动态聚合的话 链路都不up了

eatt 发表时间:9小时前
粉丝:15人 关注:9人

故障原因
M-LAG双活网关场景下,上行设备与M-LAG成员设备通过动态聚合+子接口跑OSPF时,OSPF邻居只能单台建立的核心原因是:
1. 动态LACP聚合默认基于源目IP+端口哈希分担,OSPF组播报文(224.0.0.5/6)可能持续哈希到单条成员链路,仅对应M-LAG成员能收到邻居报文。
2. M-LAG双网关未配置OSPF伪节点(M-LAG同步邻居) 时,两台成员设备独立建立OSPF邻居,上行设备的聚合子接口只能识别单台设备的Router-ID,邻居协商冲突。
排查步骤&关键命令
1. 查聚合分担情况:
上行SW1执行 display link-aggregation load-sharing path interface Route-Aggregation999 destination-ip 224.0.0.5 source-ip 99.1.1.1,确认OSPF组播报文是否固定走单条成员口。
2. 查OSPF邻居状态:
两台M-LAG设备执行 display ospf peer brief,看是否仅一台有Full邻居,另一台卡在Init/ExStart。
3. 查M-LAG OSPF同步配置:
M-LAG设备执行 display current-configuration interface M-Lag | include ospf,确认是否绑定OSPF进程。
解决配置(关键命令)
1. M-LAG设备侧(核心配置:OSPF伪节点同步)
进入M-LAG聚合口(与上行对接的聚合口,假设为Route-Aggregation10)
interface Route-Aggregation10
ospf pseudo enable // 开启OSPF伪节点,两台M-LAG设备共用虚拟Router-ID,同步邻居状态
ospf 100 area 0 // 子接口同理,在子接口下配置
*注:需确保两台M-LAG的OSPF进程Router-ID不同,伪节点虚拟Router-ID自动生成或手动统一配置。*
2. 上行SW1侧(可选,优化分担)
调整聚合负载分担算法,避免组播报文固定走单链路
link-aggregation global load-sharing mode destination-ip source-ip destination-port source-port
验证
配置后上行SW1执行 display ospf peer,可看到邻居状态为Full,且对应Router-ID为M-LAG伪节点ID,两台成员设备均能同步路由。

没有这个命令啊 [borderh2-55.106.203.95-Vlan-interface999]ospf ps? ^ % Unrecognized command found at '^' position.

eatt 发表时间:9小时前 更多>>

没有这个命令啊 [borderh2-55.106.203.95-Vlan-interface999]ospf ps? ^ % Unrecognized command found at '^' position.

eatt 发表时间:9小时前

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明