查看: 162|回复: 1

实验案例:华为 CE6800 跑通 VXLAN 分布式网关

452

主题

1005

回帖

3054万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
30548563

推广达人宣传达人突出贡献优秀版主论坛元老

QQ

实验案例:华为 CE6800 跑通 VXLAN 分布式网关(Spine-Leaf + M-LAG + BGP EVPN,12 节点 / 28 链路)

用 eNSP Pro 移植的华为镜像在 EVE-NG 里做 IPv4 单栈版本。
对应工程 IaC/vxlan-dist-gw/,验收脚本 tools/vxlan-dist-gw-verify.js。

topology.png

image.png

upload 附件:vxlan-dist-gw.zip

0. 实测结果

项目 结果
基础验收 30/30 通过
含故障切换(--fault,停 Leaf1) 33/33 通过
OSPF 邻居 Spine 各 4 个 Full、Leaf 各 2 个 Full
BGP EVPN 邻居 Spine 4 个 Established、Leaf 2 个 Established
M-LAG 4 台 leaf 的 m-lag 1/2 均 active(*)-active;两台 Spine 的 peer-link 两成员均 Selected
东西向 同网段跨对 5/5 TTL 64;跨 BD 同对 5/5 TTL 63;跨 BD 跨对 5/5 TTL 62
南北向 服务器 ↔ 公网双向 5/5,TTL 61
故障切换 停 Leaf1 后 SRV-A→SRV-B 仍 5/5 ttl=63、→Internet 仍 5/5 ttl=61,Leaf2 侧 m-lag 1 变 active(*)-inactive

实测日期 2026-11-04;镜像 huaweice6800_YunShan(eNSP Pro 移植,CE6800 V300)、
huaweiar6700(AR6700)、eve-gui-server(docker)。EVE 侧版本不同,控制台行为可能不一样。

1. 这个实验解决什么

文章里的架构有三个卖点,这个实验逐个验证它们真的在转发:

  1. M-LAG 双活:两台 leaf 组成一台逻辑设备,服务器双网卡分别接两台、做 bond,
    任意一台 leaf 挂掉服务器不掉线。
  2. 分布式网关:每台 leaf 都有本地 BD 的网关,跨 BD 流量在入口 leaf 就完成三层转发,
    不绕 spine。
  3. BGP EVPN:VNI 成员关系(type-3)和跨 BD 前缀(type-5)都由 EVPN 承载,
    没有一条静态 VXLAN 隧道。

顺带把「怎么证明它真的在转发」这件事做成可复现的判据——TTL 阶梯 + 故意不亮的过滤器。

2. 镜像与规格

模板 id 设备 数量 内存 角色
huaweice6800_YunShan CE6800 6 4 GB Spine1/2(RR + 出口)、Leaf1~4(分布式网关)
huaweiar6700 AR6700 1 4 GB PE1,南北向出口路由器
eve-gui-server docker 5 小 SRV-A~D(双网卡)+ Internet

网络设备 7 台 × 4 GB = 约 28 GB,另加 5 台轻量 docker 容器(各几百 MB,不在这 28 GB 里)。
部署前先确认宿主机放得下。

这是二阶段配置设备:system-view 下改完要 commit 才生效,
提示符 [*Name] = 有未提交改动,[~Name] = 已提交未保存,[Name] = 干净。

3. 拓扑与地址

配图:figures/vxlan-dist-gw-topology.png(2800×1520,源文件同名 .svg)

                  ┌──────────┐   peer-link Eth-Trunk1   ┌──────────┐
                  │  Spine1  │══ (GE1/0/7, GE1/0/8) ══│  Spine2  │
                  │  4.4.4.4 │   GE1/0/9 = DAD          │  5.5.5.5 │
                  │ VTEP 1.1.1.1 ═════════════════════│VTEP1.1.1.1│
                  └─┬─┬─┬─┬──┘                         └─┬─┬─┬─┬─┘
    192.168.1~4.0/24│ │ │ │                             │ │ │ │192.168.5~8.0/24
                  ┌──┘ │ │ └──┐                     ┌───┘ │ │ └──┐
             ┌────┴──┐ ┌┴──┴─┐┌┴─────┐          ┌───┴──┐┌─┴──┴─┐
             │ Leaf1 │ │Leaf2 ││Leaf3 │          │Leaf4 ││ ...  │
             │ 6.6.6.6││7.7.7.7││8.8.8.8│         │9.9.9.9││      │
             │VTEP2.2.2.2(对)││VTEP3.3.3.3(对)│  └──────┘└──────┘
             └─┬──┬──┘└──┬──┬─┘└─┬──┬──┘
      Eth-Trunk2│  │      │  │    │  │  peer-link(GE1/0/3,4)
               SRV-A ─────┘  └────┘  └──── SRV-D
               SRV-B                    SRV-C

ASCII 图只示意连法,节点位置和链路走向以 PNG 为准。
Spine1/2 之间那条 ═ 只表示两端 VTEP 地址相同,不是 VXLAN 隧道——
anycast VTEP 的目的就是让对端用一个地址到达这一对,两台之间不需要建隧道。

Loopback 与 anycast VTEP

设备 LoopBack0(router-id) LoopBack1(VTEP)
Spine1 4.4.4.4/32 1.1.1.1/32
Spine2 5.5.5.5/32 1.1.1.1/32
Leaf1 6.6.6.6/32 2.2.2.2/32
Leaf2 7.7.7.7/32 2.2.2.2/32
Leaf3 8.8.8.8/32 3.3.3.3/32
Leaf4 9.9.9.9/32 3.3.3.3/32

每一对设备共用 VTEP IP 和 Nve1 MAC——对端只需要一个地址就能到这对里的任意一台:

对 VTEP IP Nve1 MAC
Spine1 / Spine2 1.1.1.1 0000-5e00-0101
Leaf1 / Leaf2 2.2.2.2 0000-5e00-0102
Leaf3 / Leaf4 3.3.3.3 0000-5e00-0103

Underlay

段 网段 说明
Spine1 ↔ Leaf1~4 192.168.1.0/24 ~ 192.168.4.0/24 OSPF p2p,Spine 侧 .1
Spine2 ↔ Leaf1~4 192.168.5.0/24 ~ 192.168.8.0/24 同上
Spine1 ↔ Spine2 DAD 10.10.10.0/30 dual-active detection
Leaf1 ↔ Leaf2 DAD 10.10.20.0/30 同上
Leaf3 ↔ Leaf4 DAD 10.10.30.0/30 同上
Spine1/2 ↔ PE1 10.1.10.0/24、10.1.30.0/24 属于 vpn1

租户与服务器

ip vpn-instance vpn1,L3VNI 5000,RD <router-id>:1,RT 0:1。

BD VNI 网关 网关 MAC RT 服务器 双归到
BD10 10 10.1.1.1/24 0000-5e00-0105 0:10 SRV-A 10.1.1.11 Leaf1/2 Eth-Trunk2
BD20 20 10.1.2.1/24 0000-5e00-0106 0:20 SRV-B 10.1.2.11 Leaf1/2 Eth-Trunk3
BD20 20 同上 同上 同上 SRV-C 10.1.2.12 Leaf3/4 Eth-Trunk2
BD30 30 10.1.3.1/24 0000-5e00-0107 0:30 SRV-D 10.1.3.12 Leaf3/4 Eth-Trunk3

BD20 横跨两对 leaf —— 这正是「同网段跨 leaf 对走纯二层 VXLAN」的验证场景。

4. 关键设计

  1. anycast 网关四要素:同一个 Vbdif 地址 + 同一个 MAC +
    vxlan anycast-gateway enable + arp collect host enable。
    少了 arp collect host,远端主机的 ARP 学不到,主机路由也就没有。
  2. Spine 双角色:既是 BGP RR(reflect-client),又是南北向的 L3VNI 网关。
    出口默认路由用 network 0.0.0.0 0.0.0.0 通告成 type-5。
  3. monitor-link:leaf 上把上行和下行绑成一组,上行全断时把下行口拉 down,
    逼服务器切到另一台 leaf。
  4. stp v-stp enable + stp bridge-address 1-1-1:M-LAG 对要当成一台桥,
    V-STP 是前提。
  5. 三对 M-LAG 复用同一个 bridge-address 1-1-1 为什么没事:对内必须相同,
    不同对之间本该错开。本实验能复用是因为三对之间没有二层通路——
    跨对只走 underlay 三层和 VXLAN,BPDU 不跨三层、VXLAN 也不传 BPDU,
    三个 STP 域天生隔离。生产环境若对之间有二层延伸(比如 DCI 打二层),
    必须改成不同地址,否则会并成一个 STP 域、选主冲突。

5. 核心配置

下面都是节选,完整预配在 IaC/vxlan-dist-gw/configs/。
两条通用前提:CE6800 的 GE 口默认是二层,要做三层必须先 undo portswitch;
所有接口/BD 改完要 commit。

5.1 Spine1(节选:省略 Eth-Trunk1 成员口、GE1/0/2~4 的重复段;Spine2 同构)

sysname Spine1
stp mode rstp
stp v-stp enable
stp bridge-address 1-1-1
evpn-overlay enable
#
dfs-group 1
 priority 150
 source ip 4.4.4.4
 dual-active detection source ip 10.10.10.1 peer 10.10.10.2
#
ip vpn-instance vpn1
 vxlan vni 5000
 ipv4-family
  route-distinguisher 4.4.4.4:1
  vpn-target 0:1 export-extcommunity evpn
  vpn-target 0:1 import-extcommunity evpn
#
interface LoopBack0
 ip address 4.4.4.4 32
interface LoopBack1
 ip address 1.1.1.1 32
#
interface GE1/0/1
 undo portswitch
 ip address 192.168.1.1 24
 ospf network-type p2p
#  … GE1/0/2~4 分别接 Leaf2/3/4
interface GE1/0/5
 undo portswitch
 ip binding vpn-instance vpn1
 ip address 10.1.10.1 24
#
interface Eth-Trunk1
 mode lacp-dynamic
 peer-link 1
#
interface Nve1
 source 1.1.1.1
 mac-address 0000-5e00-0101
 vni 5000 head-end peer-list protocol bgp
#
bgp 100
 router-id 4.4.4.4
 peer 6.6.6.6 as-number 100
 peer 6.6.6.6 connect-interface LoopBack0
 # … 7.7.7.7 / 8.8.8.8 / 9.9.9.9 同形
 ipv4-family vpn-instance vpn1
  import-route static
  network 0.0.0.0 0.0.0.0
  advertise l2vpn evpn
 l2vpn-family evpn
  undo policy vpn-target
  peer 6.6.6.6 enable
  peer 6.6.6.6 advertise irb
  peer 6.6.6.6 reflect-client
#
ip route-static vpn-instance vpn1 0.0.0.0 0.0.0.0 10.1.10.2

Spine2 不能只换互联地址:Loopback 换成 5.5.5.5/1.1.1.1,互联地址换成
192.168.5~8.0/24 和 10.1.30.1,默认路由下一跳要改成 10.1.30.2
(PE1 在 10.1.30.0/24 上的地址)。写错了不会报错,只会南北向静默不通。

注意 OSPF 放在整份配置的最后。peer X enable 在邻居已建立时会弹
Warning: This operation will reset the peer session. Continue? [Y/N]:,
这个交互提示会把后面推送的配置行当答案吃掉。把 OSPF 挪到最后,
推 BGP 时邻居还起不来,就不会弹。

5.2 Leaf1(节选:省略 BD20 / Vbdif20 / Eth-Trunk3 等同构段;Leaf2 同构,Leaf3/4 换成 BD20+BD30、VTEP 3.3.3.3)

sysname Leaf1
stp mode rstp
stp v-stp enable
stp bridge-address 1-1-1
evpn-overlay enable
#
dfs-group 1
 priority 150
 source ip 6.6.6.6
 dual-active detection source ip 10.10.20.1 peer 10.10.20.2
#
ip vpn-instance vpn1
 vxlan vni 5000
 ipv4-family
  route-distinguisher 6.6.6.6:1
  vpn-target 0:1 export-extcommunity evpn
  vpn-target 0:1 import-extcommunity evpn
#
bridge-domain 10
 vxlan vni 10
 evpn
  route-distinguisher 6.6.6.6:10
  vpn-target 0:10 export-extcommunity
  vpn-target 0:1 export-extcommunity      # 同时带 L3VNI 的 RT,见下方说明
  vpn-target 0:10 import-extcommunity
#
interface Eth-Trunk1
 mode lacp-dynamic
 peer-link 1
interface Eth-Trunk2
 mode lacp-dynamic
 dfs-group 1 m-lag 1
 stp edged-port enable
interface Eth-Trunk2.10 mode l2
 encapsulation dot1q vid 10
 bridge-domain 10
#
interface Vbdif10
 ip binding vpn-instance vpn1
 ip address 10.1.1.1 24
 mac-address 0000-5e00-0105
 vxlan anycast-gateway enable
 arp collect host enable                 # 不收主机 ARP 就没有主机路由
#
interface Nve1
 source 2.2.2.2
 mac-address 0000-5e00-0102
 vni 10 head-end peer-list protocol bgp
 vni 20 head-end peer-list protocol bgp
#
monitor-link group 1
 port GE1/0/1 uplink
 port GE1/0/2 uplink
 port Eth-Trunk2 downlink 1
 port Eth-Trunk3 downlink 2
#
bgp 100
 router-id 6.6.6.6
 ipv4-family vpn-instance vpn1
  import-route direct
  advertise l2vpn evpn
 l2vpn-family evpn
  peer 4.4.4.4 enable
  peer 4.4.4.4 advertise irb
  peer 5.5.5.5 enable                    # 两台 Spine 都要建邻居,否则 RR 挂一台就断
  peer 5.5.5.5 advertise irb

BD 为什么要 export L3VNI 的 RT 0:1:BD 的 type-2 路由(MAC/IP)只有同时带上
0:1,VPN 实例那边才会把这些主机路由收进来,分布式的三层转发才有下一跳。
只 export 不 import —— import 方向由 L3VNI 自己的 0:1 import 负责,
这样 BD 不会把别的 BD 的路由搅进二层域。

LEAF 的 BGP 邻居是两台 Spine:4.4.4.4 和 5.5.5.5 各一条,
判据里「Leaf 2 个 Established」说的就是这个。

5.3 服务器(docker 启动配置是一段 shell)

ip link add bond0 type bond mode 802.3ad miimon 100 lacp_rate fast xmit_hash_policy layer3+4 || true
ip link set eth0 down || true
ip link set eth1 down || true
ip link set eth0 master bond0 || true
ip link set eth1 master bond0 || true
ip link set eth0 up || true
ip link set eth1 up || true
ip link set bond0 up || true
ip link add link bond0 name bond0.10 type vlan id 10 || true
ip link set bond0.10 up || true
ip addr add 10.1.1.11/24 dev bond0.10 || true
ip route add default via 10.1.1.1 || true

每行都带 || true —— docker 镜像的启动配置是逐行执行的,任何一行失败会中断后面所有行。

5.4 PE1

sysname PE1
interface GE0/0/0
 ip address 10.1.10.2 24
interface GE0/0/1
 ip address 10.1.30.2 24
interface GE0/0/2
 ip address 10.0.0.1 24
ip route-static 10.1.0.0 255.255.0.0 10.1.10.1
ip route-static 10.1.0.0 255.255.0.0 10.1.30.1

6. 复现步骤

# 1. 部署(拓扑 + 启动配置)
node tools/eve-mcp.js call eve_iac_plan      '{"lab":"vxlan-dist-gw"}'
node tools/eve-mcp.js call eve_iac_reconcile '{"lab":"vxlan-dist-gw","confirm":true}'
node tools/eve-mcp.js call eve_iac_start     '{"lab":"vxlan-dist-gw"}'

# 2. 等设备起来(6 台 CE6800 大概 10~15 分钟)
# 3. 逐台检查启动配置是否推全(见踩坑 8.1),不全就登录后逐行重推
# 4. 验收
node tools/vxlan-dist-gw-verify.js --skip-boot
node tools/vxlan-dist-gw-verify.js --skip-boot --fault

上面的自动化依赖 EVE-MCP 工具链;没有这套工具的读者,按 §5 手工配、按 §7 的命令逐条验证,
判据和结论完全一致。

7. 验收判据

7.1 控制面

display ospf peer brief          → Spine 4 个 Full,Leaf 2 个 Full
display bgp evpn peer            → Spine 4 个 Established,Leaf 2 个
display vxlan tunnel             → 每台 leaf 两条 up(1.1.1.1 / 对端 VTEP)

display bgp evpn peer 在本镜像实测可用;如果你的 CE 版本不认,
换成 display bgp evpn all peer。

7.2 VNI 状态要看懂

display vxlan vni 的 State 只表示「有没有远端 VTEP」:

设备 期望
Leaf1 VNI 20 up、VNI 10 down
Leaf3 VNI 20 up、VNI 30 down

VNI 10 只在 Leaf1/2 对内、VNI 30 只在 Leaf3/4 对内,没有远端 VTEP,不建 VXLAN 隧道,
所以它们本来就是 down。对内流量走 M-LAG 的 Eth-Trunk,
出接口在远端 leaf 时才过 peer-link——不是所有流量都走 peer-link。
把这条写进判据,才不会误判成故障。

display vxlan vni 不列 L3VNI。两台 Spine 上都是 Number of vxlan vni : 0,
这是正常的。要确认 VNI 5000 用 display interface Nve1(current state UP)+
display vxlan tunnel。

7.3 TTL 是最便宜的判据

场景 TTL 说明
SRV-B → SRV-C(同网段跨 leaf 对) 64 纯二层延伸,不过网关
SRV-A → SRV-B(跨 BD 同 leaf 对) 63 只在入口 leaf 路由一次
SRV-A → SRV-C(跨 BD 跨 leaf 对) 62 入口 leaf 路由 + 出口 leaf 查表转发
SRV-A → 公网 61 再过 Spine 和 PE1

62 容易被当成「绕路了」,其实不是:入口 leaf 和出口 leaf 各做一次查表,
traceroute 能看到两个跳(中间那个 * 是出口 leaf 不回 TTL-exceeded)。
真绕了 spine 会是 61,所以 62 本身就否证了三角路由。

7.4 故障切换

node tools/vxlan-dist-gw-verify.js --skip-boot --fault

停掉 Leaf1,等 100 秒(LACP 超时收敛),然后:

  • SRV-A → SRV-B 仍 5/5 ttl=63(bond 切到 Leaf2;此时 SRV-A、SRV-B 都在 Leaf2 上,
    变成「跨 BD 同 leaf 对」,入口只路由一次,所以还是 63 而不是 62)
  • SRV-A → 公网仍 5/5 ttl=61
  • Leaf2 侧 display dfs-group 1 m-lag brief 出现 inactive

这 100 秒是 LACP 超时的时间尺度,不是设备重启收敛。
如果是把 Leaf1 停掉再启动,隧道/EVPN/OSPF 虽然能自恢复,
但重启后头几分钟流量会抖(见 8.8),要等更久再跑验收。

7.5 过滤器面板

会亮:ARP-Request/Reply、ICMP-Request/Reply、VXLAN-VNI20-BD20(SRV-B ↔ SRV-C 纯二层)、
VXLAN-L3VNI5000(跨 BD 三层)、OSPF-Hello、BGP-EVPN、LACP、
DAD-Heartbeat(三根 DAD 直连链上常亮)、DAD-Probe(underlay 各链路)。

故意不亮:VXLAN-VNI10-BD10、VXLAN-VNI30-BD30(对内 BD,没有远端 VTEP、不建隧道)。
这两条不亮才是对的。

DAD 心跳是 UDP 1025,不是 ICMP。 拿 Wireshark 抓 Spine2 GE1/0/9 看得很清楚:
10.10.10.1 ↔ 10.10.10.2,UDP 1025→1025,每 ~200ms 一个,168 字节。
一开始按别的 M-LAG 实验的经验写成 icmp[4:2] == 0xffff,这根线一直不亮。

但不能因此把 ICMP 探针并进来:id=0xffff 的 ICMP Echo(192.168.2.2→192.168.2.2
这种自己打自己、ttl=1/2、收不到回应)是 DFS 的另一种探针,会泛洪到 underlay 各条链路上。
合并成一条的后果是 underlay 全线发黄,反而把「心跳只跑在 DAD 链上」这个结构事实糊掉。
最终拆成两条:DAD-Heartbeat = udp port 1025(黄),DAD-Probe = icmp[4:2] == 0xffff(淡黄),
各亮各的链路。

配色要对准 EVE 的深色画布 + 默认链路是蓝色这两条:

  • 避开蓝/青系,否则和普通链路分不开;
  • 深色底上要够亮——#212121 这种近黑在画布上等于没有高亮(本实验踩过,已改成 #aa00ff);
  • 请求↔应答要么互补、要么色相远隔(ARP 红 #e53935 ↔ 草绿 #76ff03,
    ICMP 品红 #d81b60 ↔ 绿 #43a047);
  • 同亮度邻近色相不行(橙 #fb8c00 和琥珀、蓝和青这种)。

8. 踩坑清单(按「会骗到你」的程度排序)

★ 越多越坑:★★★ = 会直接把你带偏、白折腾几小时;★ = 知道就好;
没标星的是「边界条件」,不影响主流程。

8.1 启动配置推一半就丢了 ★★★

EVE 在设备还在初始化时推启动配置,后面的行会丢,每台丢的位置还不一样
(Leaf2 停在 stp v-stp enable、Leaf3/4 停在 dfs-group)。
表现是控制台看着正常、display ospf peer 却是空的。

药方:登录后一行一条、等提示符再发下一条重推,一次性灌一大块照样会丢。
起手式接 8.2:先 {expect: "", send: ""} 敲个回车把控制台唤醒,
再一行一条发、每行之后用提示符正则确认落地。

8.2 控制台安静时不吐字节 ★★

console_history 只有 10 字节(ESC]0;<Name>BEL,一个窗口标题),
console_run 读回来只有那 10 字节,看着像节点死了,其实设备活得好好的。

根因是工具语义:send 之后的 expect 只匹配该次 send 之后新收到的字节。
所以「先等提示符再发回车」在冷控制台上永远等不到。

正确起手:{expect: "", send: ""}(空正则立即命中 → 无条件敲回车),
再另起一步看落在哪儿。华为 CE 和 docker 容器都是这个毛病。
(这次为了它白重启过 Leaf3/Leaf4——重启并不能解决。)

8.3 peer X enable 的 [Y/N] 把后续配置吃掉 ★★

Warning: This operation will reset the peer session. Continue? [Y/N]:

邻居已建立时配 peer X enable 会弹这个。逐行推送时它会吃掉下一行,
控制台卡在 Please choose 'YES' or 'NO' first before pressing 'Enter'。

结构性解法:把 ospf 1 整段放到 BGP 之后,推 BGP 时邻居起不来就不弹。
兜底:推送脚本侦测 [Y/N] 和 [Y(yes)/N(no)/C(cancel)] 自动答 Y。

8.4 display vxlan vni 不列 L3VNI ★

Spine 上 Number of vxlan vni : 0 是正常的。差点据此判「VNI 5000 没起来」。

8.5 两条 BGP 查询命令这个镜像不认

display bgp vpn-instance vpn1 routing-table            → Unrecognized command
display bgp evpn all routing-table prefix-route 10.1.3.0 24  → Wrong parameter

替代:display ip routing-table vpn-instance vpn1 <prefix>,
看下一跳是不是远端 VTEP、出接口是不是 VXLAN。

8.6 默认路由不能靠 import-route static

VRP 的 import-route static 不导入 0.0.0.0/0。
要在 ipv4-family vpn-instance vpn1 下单独写 network 0.0.0.0 0.0.0.0
才能通告成 type-5。

import-route static 本身不是没用——非默认的静态路由照样能导入,
只有默认路由必须用 network 单独通告。

8.7 EVE 不把容器的 veth admin 状态传给对端 ★

在容器里 ip link set eth1 down 不算故障,leaf 侧看不到。
真正的故障测试要停整台 leaf,而且要靠 LACP 超时发现(约 100 秒)。

8.8 重启后头几分钟流量会抖 ★

Leaf1 重启后隧道/EVPN/OSPF 都能自恢复,但头几分钟丢包 20~45%。
别在收敛期跑验收,不然会拿到一堆 4/5 的假失败。

8.9 display current-configuration 看着被截断

其实是分页器(默认 24 行)。先 screen-length 0 temporary。

9. 已知限制

  1. IPv6 单栈缺失:这套 eNSP Pro 移植镜像上 IPv6 over VXLAN 不通,
    所以只做 IPv4,文章里的 IPv6 部分没有复现。
  2. return 会弹未提交确认:有未提交改动时 return 会问
    [Y(yes)/N(no)/C(cancel)],自动化要能答。
  3. 内存:6 台 CE6800 + 1 台 AR6700 各 4 GB,合计约 28 GB,另加 5 台轻量容器。
  4. 控制台空闲会掉回 Password:,验收脚本要能自动重登。
  5. EVE 虚拟链路对 LACP 的透传取决于底层实现:本实验环境实测可通
    (服务器 bond 802.3ad 与 leaf mode lacp-dynamic 协商成功,M-LAG 显示 active(*)-active)。
    如果你的 EVE 版本 LACP 不通,可以把 M-LAG 改成静态模式(mode manual load-balance),
    服务器 bond 改 balance-rr,先把三层/EVPN 的部分验证完。

10. 附录

附件:实验案例模板/附件/vxlan-dist-gw.zip(315 KB)——
README.md / topology.yml(12 节点 28 链路 13 filter)/ .eve-iac.yml /
configs/default/n_1~n_12.cfg(MCP 读回的原字节)/ topology.png。

文件 SHA-256
vxlan-dist-gw.zip 48ba6d0d32c041398dd5d6f44e5cd787b17967a36f10d9f72778a037f8c6d232
topology.yml 2cf528257464ed1c62a0c9adc04ec5a093bd789b99f847468348880145377984
topology.png 614bb58fe38377e7185f022f0b8e92e62db0bf25a662f1fc6acbc1d1b2da0558
  • 活工程:IaC/vxlan-dist-gw/
  • 验收脚本:tools/vxlan-dist-gw-verify.js(30 项 + --fault 3 项)
  • 相关案例:实验案例-VXLAN-EVPN-IOL-XE.md(IOL XE 版,手工 anycast 网关)、
    实验案例-华为M-LAG双镜像互测.md(CE6800 与 S6730H 的 M-LAG 能力边界)
不忘初心
回复

使用道具 举报

0

主题

42

回帖

3440

积分

金牌会员

Rank: 6Rank: 6

积分
3440
发表于 4 天前 | 显示全部楼层

感谢 太强大了

回复

使用道具 举报

本版积分规则

Copyright   ©2015-2026  EmulatedLab  Powered by Discuz!©   ( 浙ICP备2021010423号-1 )
快速回复 返回列表 返回顶部