EVE-NG 思科 2-Tier 数据中心网络实验手册

Underlay:IS-IS(灵活连接) · Overlay:VXLAN + BGP EVPN · 高级特性:ECN 拥塞控制 / PFC / QoS / 多租户

面向实战的 Spine-Leaf fabric 搭建,使用 Cisco Nexus 9000v(NX-OS),语言通俗易懂、命令可复制即用。

🧪 环境:EVE-NG Pro / Community 🛠 设备:Nexus 9000v (N9Kv) 📐 架构:2-Tier Spine-Leaf 🌐 协议:IS-IS + VXLAN EVPN 🚦 高级:ECN / PFC / CoPP

1. 这份手册在做什么

我们要在 EVE-NG 里,用思科 Nexus 9000v 虚拟交换机,搭一套现在真实数据中心里最主流的网络架构两层 Spine-Leaf(脊-叶)fabric。它解决一个核心问题:当机柜越来越多、服务器到处迁移时,传统“接入-汇聚-核心”三层网络会因为生成树(STP)阻塞端口而浪费带宽、并且二层无法跨机房扩展。

1.1 先搞懂三个“层”

名称作用本实验用什么
物理层 / 设备真实的交换机和连线Nexus 9000v 虚拟交换机
Underlay(底层承载网)一张普通的 IP 路由网络,负责把数据包从一台交换机送到另一台交换机的“隧道端点”IS-IS 路由协议(本实验要求)
Overlay( overlay overlay 虚拟网络)在 Underlay 之上“再叠一层”的逻辑大二层/大三层网络,让虚拟机/容器以为自己连在同一个交换机上VXLAN 隧道 + BGP EVPN 当控制大脑
💡 通俗理解:Underlay 是“公路网”,Overlay 是公路上跑的“集装箱卡车(VXLAN)” IS-IS 负责让每台交换机的环回口(隧道端点地址)互相可达;VXLAN 把原始以太网帧装进 UDP 包里,在公路上运到对端叶交换机再拆出来。BGP EVPN 则是“调度中心”,告诉每台交换机:哪个 MAC/IP 在哪个隧道端点后面。

1.2 为什么选这些技术

  • Spine-Leaf 两层架构:任意两台服务器之间最多经过 3 台交换机(Leaf→Spine→Leaf),延迟可预测;所有上行链路都能用(无 STP 阻塞),带宽翻倍。
  • IS-IS 做 Underlay:收敛快、支持大二层扩展、对 IPv6/Segment Routing 友好,是运营商和大型数据中心的事实标准;比 OSPF 更“干净”地支持无编号(unnumbered)链路。
  • VXLAN + BGP EVPN:VXLAN 把二层域从 4094 个 VLAN 扩展到 1600 万个 VNI;EVPN 用 BGP 自动学习 MAC/IP,支持分布式网关、ARP 抑制、主机迁移,是“免组播、纯控制平面”的现代做法。
  • ECN / PFC / QoS:数据中心流量突发大,单纯“丢包”会拖垮 TCP 和 RDMA。ECN 让交换机在拥塞还没丢包时就给包打标记,让发送方提前减速;PFC 为 RoCE/RDMA 提供零丢包链路。这是 AI/存储集群的刚需。

1.3 实验目标(做完你应该能)

  1. 在 EVE-NG 里规划并连线一套 2 台 Spine + 4 台 Leaf 的 fabric;
  2. 用 IS-IS 让所有环回口互通(Underlay 通);
  3. 用 VXLAN EVPN 实现跨 Leaf 的二层互通(同一子网服务器迁移不换 IP);
  4. 分布式任播网关实现跨子网三层互访(任意 Leaf 都能当网关);
  5. 开启 ECN/PFC,理解并验证拥塞控制;
  6. 掌握一套排错命令。

2. 实验拓扑与设备清单

IS-IS Level-2(/31 链路,MTU 9216) Spine-1 RR + 路由反射器 Spine-2 RR + 路由反射器 VTEP(source loopback1)· 任播网关 Leaf-1 Leaf-2 Leaf-3 Leaf-4 Host-A1172.16.10.10 Host-A3172.16.20.10 Host-A2172.16.10.20 高级特性部署点 • Leaf 上联口:ECN + WRED • 服务器口:PFC(RoCE 零丢包) 图 2-1 2-Tier Spine-Leaf 拓扑(实线=IS-IS Underlay,虚线=主机接入 / VXLAN 隧道在 Underlay 之上)

2.1 设备与镜像

角色节点名镜像(建议)数量说明
Spine(核心)Spine-1 / Spine-2Nexus 9000v (Titanium) nxos64-cs.10.3.x9.3(x)2仅做路由反射器 + Underlay 中转,终结 VXLAN
Leaf(接入)Leaf-1 ~ Leaf-4同上 N9Kv4VTEP、任播网关、服务器接入
服务器/主机Host-A1/A2/A3VPCS 或 IOL/Cisco Router(关路由当主机)3验证二层/三层互通
⚠️ 关键提醒 VXLAN EVPN 需要交换机支持 nv overlayvn-segment-vlan-based 特性。传统 IOS(如 IOL)做不了 VTEP,必须用 N9Kv。EVE-NG 里镜像名通常叫 nxosv9k 或导入 .qcow2

2.2 地址与标识规划(照抄即可)

① 环回地址(IS-IS Router-ID / BGP 源 / VTEP 源)

设备Loopback0(Router-ID / ISIS)Loopback1(VTEP 源,仅 Leaf)IS-IS NET
Spine-110.255.0.1/3249.0001.0000.0000.0001.00
Spine-210.255.0.2/3249.0001.0000.0000.0002.00
Leaf-110.255.0.3/3210.255.1.1/3249.0001.0000.0000.0011.00
Leaf-210.255.0.4/3210.255.1.2/3249.0001.0000.0000.0012.00
Leaf-310.255.0.5/3210.255.1.3/3249.0001.0000.0000.0013.00
Leaf-410.255.0.6/3210.255.1.4/3249.0001.0000.0000.0014.00

② Spine↔Leaf 互联链路(使用 /31,省地址且避免广播)

链路Spine 侧 IPLeaf 侧 IP
Spine-1 ↔ Leaf-110.0.13.0/3110.0.13.1/31
Spine-1 ↔ Leaf-210.0.14.0/3110.0.14.1/31
Spine-1 ↔ Leaf-310.0.15.0/3110.0.15.1/31
Spine-1 ↔ Leaf-410.0.16.0/3110.0.16.1/31
Spine-2 ↔ Leaf-110.0.23.0/3110.0.23.1/31
Spine-2 ↔ Leaf-210.0.24.0/3110.0.24.1/31
Spine-2 ↔ Leaf-310.0.25.0/3110.0.25.1/31
Spine-2 ↔ Leaf-410.0.26.0/3110.0.26.1/31

③ 租户 / VNI / VLAN / 子网映射(本实验主配 Tenant-A)

租户 (VRF)类型VNIVLAN子网 / 网关任播网关 MAC
TENANT-AL2 VNI1001010172.16.10.0/240001.0001.0001
L2 VNI1002020172.16.20.0/24
L3 VNI(路由)1009999—(仅用于跨子网路由)

④ 主机接入

主机接在接口VLANIP / 网关
Host-A1Leaf-1Ethernet1/310172.16.10.10/24 → 172.16.10.1
Host-A2Leaf-3Ethernet1/310172.16.10.20/24 → 172.16.10.1
Host-A3Leaf-2Ethernet1/420172.16.20.10/24 → 172.16.20.1
✅ 这个设计的巧思 Host-A1 和 Host-A2 在同一子网(172.16.10.0/24)却接在不同 Leaf 上——这正是 VXLAN 的看家本领:把它们“拉”进同一个二层域,IP 不用改就能互相 ping 通(二层延伸)。Host-A3 在另一子网,则通过任播网关做三层转发。

3. EVE-NG 环境准备

1
新建 Lab:EVE-NG Web 界面 → Add Lab → 取名 DC-Fabric-2Tier,类型选 Unprovisioned 即可。
2
添加节点:右键画布 → Add Node → 选 Nexus 9000v(若列表没有,需先上传镜像到 EVE 的 /opt/unetlab/addons/qemu/)。添加 2 台 Spine + 4 台 Leaf,CPU/RAM 建议每节点 2 vCPU / 8 GB(N9Kv 较吃内存)。
3
连线(按 2.2 节):每台 Leaf 用两条线分别连到 Spine-1、Spine-2(共 8 条 Spine-Leaf 线);每台 Leaf 留一个口连主机。连线用 Ethernet1/x
4
启动并初始化:全选节点 → Start。等待 N9Kv 启动(首次约 3–5 分钟),用 admin / admin 登录,首次会强制改密码。
5
进入配置模式:每台设备执行 configure terminal(可简写 conf t)。后续所有命令都在此模式下输入。
⚠️ 常见坑 N9Kv 在 EVE-NG 里默认可能跑在 whitebox 模式或需要 feature nx-api。若提示某些 feature 不存在,先确认镜像版本 ≥ 9.3(x)。本手册命令在 9.3(6) 与 10.3/10.4 上验证可用。

4. Underlay:IS-IS 配置(让所有环回口互通)

Underlay 的唯一目标:让每台交换机的 Loopback0(Router-ID)和 Leaf 的 Loopback1(VTEP 源) 在全网可达。这样 BGP 才能用环回口建邻居,VXLAN 隧道才知道往哪送。

4.1 基础思路

  • 启用 feature isis
  • 所有三层口(环回 + 互联链路)都 ip router isis UNDERLAY
  • 链路设为 point-to-point(/31 点对点,避免 DR 选举开销);
  • 使用 Level-2 + wide metric(支持大度量、为 Segment Routing 预留);
  • 环回口设为 passive(只通告、不建邻居);
  • 全网 MTU 9216(巨帧),VXLAN 封装后包会变大,必须开。

4.2 Spine-1 完整配置

! ===== Spine-1:Underlay IS-IS ===== feature isis feature bfd ! 后面高级特性要用到快速故障检测 ! interface loopback0 ip address 10.255.0.1/32 ip router isis UNDERLAY isis passive-interface ! interface Ethernet1/1 ! 连 Leaf-1 no switchport mtu 9216 ip address 10.0.13.0/31 ip router isis UNDERLAY isis network point-to-point bfd ! 接口级开启 BFD bfd interval 300 min_rx 300 multiplier 3 no shutdown interface Ethernet1/2 ! 连 Leaf-2 no switchport; mtu 9216; ip address 10.0.14.0/31 ip router isis UNDERLAY; isis network point-to-point; bfd; no shutdown interface Ethernet1/3 ! 连 Leaf-3 no switchport; mtu 9216; ip address 10.0.15.0/31 ip router isis UNDERLAY; isis network point-to-point; bfd; no shutdown interface Ethernet1/4 ! 连 Leaf-4 no switchport; mtu 9216; ip address 10.0.16.0/31 ip router isis UNDERLAY; isis network point-to-point; bfd; no shutdown ! router isis UNDERLAY net 49.0001.0000.0000.0001.00 is-type level-2 metric-style wide log-adjacency-changes bfd ! 进程级开启 BFD spf-interval 50 50 200 ! 快速收敛:SPF 计算节流 lsp-gen-interval 50 50 200 ! LSP 生成节流 max-lsp-lifetime 65535 lsp-refresh-interval 65535
💡 通俗解释:Level-2 是什么? IS-IS 用“Level”区分层级。数据中心单一 fabric 通常用 Level-2(骨干级),所有设备都在一个层级里,路由最简单、收敛最快。wide metric 让带宽度量更精确,将来上 Segment Routing 也省事。

4.3 Spine-2

与 Spine-1 几乎一致,仅改三处:loopback0 = 10.255.0.2、NET 末段 0002、互联地址换成 10.0.2x.0/31

4.4 Leaf-1 完整配置(其余 Leaf 照葫芦画瓢)

! ===== Leaf-1:Underlay IS-IS + 双上联(ECMP)===== feature isis feature bfd ! interface loopback0 ! Router-ID / BGP 源 ip address 10.255.0.3/32 ip router isis UNDERLAY isis passive-interface interface loopback1 ! VTEP 源(Overlay 隧道端点) ip address 10.255.1.1/32 ip router isis UNDERLAY isis passive-interface ! interface Ethernet1/1 ! 上联 Spine-1 no switchport; mtu 9216; ip address 10.0.13.1/31 ip router isis UNDERLAY; isis network point-to-point; bfd; no shutdown interface Ethernet1/2 ! 上联 Spine-2 no switchport; mtu 9216; ip address 10.0.23.1/31 ip router isis UNDERLAY; isis network point-to-point; bfd; no shutdown ! router isis UNDERLAY net 49.0001.0000.0000.0011.00 is-type level-2 metric-style wide log-adjacency-changes bfd spf-interval 50 50 200 lsp-gen-interval 50 50 200
✅ 验证 Underlay 通了没 在任意 Leaf 上执行 show isis adjacency 应看到 2 个邻接(Spine-1、Spine-2),状态 UP;再 show ip route isis 能看到所有 10.255.x.x/32 环回路由。Underlay 不通,后面的 VXLAN 一定不通。

4.5 其他 Leaf 的差异对照

设备Loopback0Loopback1NET 末段上联 Spine-1 IP上联 Spine-2 IP
Leaf-110.255.0.310.255.1.1001110.0.13.110.0.23.1
Leaf-210.255.0.410.255.1.2001210.0.14.110.0.24.1
Leaf-310.255.0.510.255.1.3001310.0.15.110.0.25.1
Leaf-410.255.0.610.255.1.4001410.0.16.110.0.26.1

5. Overlay:VXLAN + BGP EVPN 配置

这一步是重头戏。思路是:

  1. 开特性 → 2. 建 VRF + VLAN 与 VNI 绑定 → 3. 建 NVE 隧道接口 → 4. 用 BGP EVPN 把 MAC/IP 信息在 Leaf 间“广播” → 5. 配任播网关让跨子网能通。

5.1 全局特性与任播网关 MAC(每台 Leaf 都要)

feature bgp feature nv overlay ! 启用 VXLAN 能力 feature vn-segment-vlan-based ! 允许 VLAN↔VNI 映射 feature interface-vlan ! 允许 SVI(网关接口) nv overlay evpn ! 指定 EVPN 为 VXLAN 控制平面 fabric forwarding anycast-gateway-mac 0001.0001.0001 ! 所有 Leaf 必须相同!
⚠️ 任播网关 MAC 必须全网一致 分布式网关的精髓是:每台 Leaf 都配 同一个 IP + 同一个 MAC 当网关。主机 ARP 学到的网关 MAC 到处一样,迁移到别的 Leaf 也不用重新学。MAC 不一致会导致二层环路或黑洞。

5.2 建 VLAN ↔ VNI 映射(Leaf-1 示例,所有 Leaf 一致)

vlan 10 vn-segment 10010 ! L2 VNI vlan 20 vn-segment 10020 vlan 99 vn-segment 10099 ! L3 VNI,仅用于跨子网路由

5.3 建 VRF(租户)与 L3 VNI 关联

vrf context TENANT-A vni 10099 ! 绑定 L3 VNI rd auto ! 自动生成 Route Distinguisher address-family ipv4 unicast route-target both auto ! 自动 RT(推荐,省心) route-target both auto evpn

5.4 建 SVI 网关(任播网关)

interface Vlan10 ! 子网 172.16.10.0/24 的网关 no shutdown vrf member TENANT-A ip address 172.16.10.1/24 fabric forwarding mode anycast-gateway ! 关键:任播模式 interface Vlan20 ! 子网 172.16.20.0/24 的网关 no shutdown vrf member TENANT-A ip address 172.16.20.1/24 fabric forwarding mode anycast-gateway interface Vlan99 ! L3 VNI 的“路由接口”,不配 IP no shutdown vrf member TENANT-A ip forward

5.5 建 NVE 隧道接口(VTEP 本体)

interface nve1 no shutdown host-reachability protocol bgp ! 用 BGP EVPN 学邻居,免组播 source-interface loopback1 ! 隧道源 = Loopback1 (10.255.1.x) member vni 10010 ! 绑定 L2 VNI member vni 10020 member vni 10099 associate-vrf ! L3 VNI 必须加这行
💡 为什么不用组播(mcast-group)? 老式 VXLAN 用组播来洪泛 BUM 流量。有了 BGP EVPN,VTEP 之间通过 Type-3 路由自动发现对端、用“头端复制(ingress replication)”单播发送 BUM,Underlay 完全不需要 PIM/组播,更简单也更贴近现在的真实部署。

5.6 BGP EVPN(Leaf 侧:连 Spine 路由反射器)

router bgp 65000 router-id 10.255.0.3 ! 用 Loopback0 neighbor 10.255.0.1 remote-as 65000 ! Spine-1(RR) update-source loopback0 address-family l2vpn evpn send-community both neighbor 10.255.0.2 remote-as 65000 ! Spine-2(RR) update-source loopback0 address-family l2vpn evpn send-community both vrf TENANT-A ! 让 L3 VNI 的直连子网通过 EVPN 发布 address-family ipv4 unicast advertise l2vpn evpn

5.7 Spine 侧:作 BGP 路由反射器(RR)

Spine 自己终结 VXLAN,只负责把 Leaf 的 EVPN 路由“反射”给其它 Leaf,避免 Leaf 之间全互联(n×(n-1)/2 邻居爆炸)。

! ===== Spine-1(Spine-2 同理,邻居列表相同)===== feature bgp router bgp 65000 router-id 10.255.0.1 address-family l2vpn evpn retain route-target all ! RR 保留所有 RT,便于反射 neighbor 10.255.0.3 remote-as 65000 ! Leaf-1 update-source loopback0 address-family l2vpn evpn send-community both route-reflector-client neighbor 10.255.0.4 remote-as 65000 ! Leaf-2(route-reflector-client) neighbor 10.255.0.5 remote-as 65000 ! Leaf-3 neighbor 10.255.0.6 remote-as 65000 ! Leaf-4 ! 每个 neighbor 下都要:update-source loopback0 + address-family l2vpn evpn + send-community both + route-reflector-client

5.8 主机接入端口

interface Ethernet1/3 ! Leaf-1 接 Host-A1(VLAN10) switchport access vlan 10 spanning-tree port type edge ! 边缘口,快速转发 no shutdown ! Leaf-2 Ethernet1/4 接 Host-A3 → switchport access vlan 20 ! Leaf-3 Ethernet1/3 接 Host-A2 → switchport access vlan 10
✅ 到此 Overlay 已成型 Host-A1(172.16.10.10) 应能与 Host-A2(172.16.10.20) 二层互通(跨 Leaf!),也能 ping 通网关 172.16.10.1;跨子网访问 Host-A3 会通过任播网关做三层转发。

6. 高级特性:ECN 拥塞控制 / PFC / QoS

数据中心里流量是“突发型”的:AI 训练、存储同步会瞬间打满端口buffer。传统做法是等 buffer 满了再丢包,但丢包会让 TCP 骤降、让 RDMA 直接失败。下面这套组合拳让网络在“还没丢包”时就通知发送方减速,并把关键流量做成零丢包

🚦 ECN(显式拥塞通知) IP 头里有 2 个比特(ECT/CE)。交换机在队列开始变长、但还没溢出时,把这两个比特置 1(打标记)而不是丢包。接收方回传给发送方,发送方据此提前降速。对普通 TCP 流量最有效。
🛑 PFC(基于优先级的流控) 在以太网二层按 802.1p 优先级“暂停”某一类流量,让发送方暂时停发而不是丢包。用来给 RoCE/RDMA 造一条零丢包链路。相当于“急刹车”。ECN 是“减速灯”,PFC 是“急刹车”,两者配合。

6.1 启用 QoS 特性

feature lldp ! PFC 靠 LLDP(DCBX) 与对端网卡协商 feature interface-vlan ! 已开则忽略

6.2 定义“无丢包”网络类(PFC 用,给 RoCE)

! 把 qos-group 3 映射到 CoS 3,并对它开启 PFC(暂停) class-map type network-qos c-nq-roce match qos-group 3 class-map type network-qos c-nq-default match qos-group 0 ! policy-map type network-qos PM-NQ-LOSSLESS class type network-qos c-nq-roce mtu 9216 pause pfc-cos 3 ! 对该优先级启用 PFC 暂停 class type network-qos c-nq-default mtu 9216 ! system qos service-policy type network-qos PM-NQ-LOSSLESS

6.3 开启 ECN 标记(平台级 + 队列级)

Nexus 9000 上 ECN 是“队列级标记”:先告诉平台要对某 qos-group 启 ECN,再在出口队列策略里启用 WRED+ECN。

! ① 平台级:对 qos-group 1 启用基于队列的 ECN 标记 wred-queue qos-group-map queue-only 1 ! ! ② 定义出口队列类 class-map type queuing c-q-ecn match qos-group 1 policy-map type queuing PM-Q-EGRESS class type queuing c-q-ecn bandwidth percent 50 ! 保证一半带宽 congestion-control random-detect ecn ! 关键:拥塞时打 ECN 标记而非丢包 class type queuing class-default bandwidth percent 50

6.4 把策略应用到接口

! 上联口(Leaf→Spine):出口开 ECN,缓解 incast 拥塞 interface Ethernet1/1 service-policy type queuing output PM-Q-EGRESS interface Ethernet1/2 service-policy type queuing output PM-Q-EGRESS ! ! 服务器口:开启 PFC(让 RoCE 网卡得到零丢包链路) interface Ethernet1/3 priority-flow-control mode on priority-flow-control send-tlv ! 通过 DCBX 把 PFC 能力告诉网卡 priority-flow-control watch-dog-interval on ! PFC 看门狗,避免“死锁”式永久暂停
⚠️ PFC 使用须知 PFC 暂停是整条链路暂停,开得不对会造成“微突发拥塞扩散 / 死锁”。生产环境务必:① 只对 RoCE 专用优先级(如 CoS 3)开 PFC;② 配合 watch-dog-interval 防死锁;③ 服务器网卡也要开启 RoCE + ECN 才能配合。普通 TCP 业务只开 ECN 即可,不必开 PFC

6.5 再补几个“实战必开”的高级属性

特性配置要点作用
BFD(已随 IS-IS 开)接口 + 进程级 bfd链路故障 300ms 内感知,秒级收敛
IS-IS 认证authentication type md5 password ... 在接口/进程下防伪造路由、满足等保
BGP 多路径 ECMProuter bgp ... maximum-paths 64Leaf 到任一 VTEP 走多条等Cost路径,带宽叠加
BGP Graceful Restartgraceful-restart控制平面重启时不丢转发表,业务不断
CoPP(控制平面保护)copp profile strict限速到 CPU 的协议报文,防 DOS / 风暴
ARP 抑制EVPN 默认开启同子网 ARP 由本地 Leaf 代答,减少泛洪
! IS-IS 接口级 MD5 认证示例(每台设备每个 IS-IS 接口都加) interface Ethernet1/1 isis authentication type md5 isis authentication key-chain ISIS-KEY key chain ISIS-KEY key 1 key-string Sup3rSecret! ! ! BGP 多路径 + 优雅重启 router bgp 65000 maximum-paths 64 ibgp 64 graceful-restart ! ! 控制平面保护 copp profile strict

7. 验证与排错

7.1 验证清单(建议按顺序)

验证项命令期望结果
IS-IS 邻接show isis adjacency每台 Leaf 看到 2 个 UP 邻接
Underlay 路由show ip route isis所有 10.255.x.x/32 可达
BGP EVPN 邻居show bgp l2vpn evpn summary2 个邻居(Spine)State = Established,PfxRcd > 0
NVE 接口show nve interfacenve1 状态 Up,VNI 全部 Up
VTEP 对等体show nve peer能看到其它 Leaf 的 Loopback1 地址
VNI 映射show vxlan vni10010/10020/10099 存在且关联正确 VLAN
EVPN 学到的 MACshow bgp l2vpn evpn能看到 Type-2(MAC/IP)路由
ECN 统计show queuing interface eth1/1能看到 ECN 标记计数
PFC 状态show priority-flow-control服务器口 PFC 模式 on,统计有 pause 帧

7.2 端到端 ping 测试

! 在 Host-A1 上 ping 172.16.10.20 ! → Host-A2(跨 Leaf 二层,应通) ping 172.16.10.1 ! → 本地任播网关(应通) ping 172.16.20.10 ! → Host-A3(跨子网三层,应通)

7.3 常见故障速查

❌ BGP 邻居起不来 ① 先 ping 10.255.0.1 source 10.255.0.3 确认 Underlay 通;② 确认 update-source loopback0 两边一致;③ feature bgp 已开;④ Spine 上邻居忘了加 route-reflector-client
❌ NVE 接口 Up 但 VNI 不 Upnv overlay evpn 没敲;② VLAN 没配 vn-segment;③ L3 VNI 的 member 下忘了 associate-vrf;④ Loopback1 没进 IS-IS(VTEP 不可达,隧道建不起来)。
❌ 同子网跨 Leaf 不通 ① 检查两端 vn-segment 是否一致;② show nve peer 是否看到对端;③ 主机口 VLAN access 是否正确;④ EVPN Type-2 路由是否互相收到(可能 RT 不匹配,确认都用了 route-target auto)。
❌ 跨子网不通(任播网关) ① L3 VNI 的 interface Vlan99 必须 ip forwardvrf member;② VRF 下 vni 10099 绑定;③ BGP 的 vrf TENANT-Aadvertise l2vpn evpn;④ 任播 MAC 全网一致。
❌ ECN 没生效 ① 确认 wred-queue qos-group-map queue-only <g> 已配;② 出口队列策略里用了 congestion-control random-detect ecn;③ 服务器/网卡也要开启 ECN(Linux: sysctl net.ipv4.tcp_ecn=1),否则只有交换机标记、终端不减速。

8. 完整配置附录(Leaf-1 一份到底)

下面把 Leaf-1 的全部配置按顺序拼好,可直接整段粘贴。其它 Leaf 改 IP/NET/互联地址即可;Spine 见 4.2 / 5.7。

########## Leaf-1 完整配置 ########## ! ---- 全局特性 ---- feature isis feature bfd feature bgp feature nv overlay feature vn-segment-vlan-based feature interface-vlan feature lldp nv overlay evpn fabric forwarding anycast-gateway-mac 0001.0001.0001 copp profile strict ! ---- Loopback ---- interface loopback0 ip address 10.255.0.3/32 ip router isis UNDERLAY isis passive-interface interface loopback1 ip address 10.255.1.1/32 ip router isis UNDERLAY isis passive-interface ! ---- 上联 Spine(双活 ECMP)---- interface Ethernet1/1 no switchport; mtu 9216; ip address 10.0.13.1/31 ip router isis UNDERLAY; isis network point-to-point; bfd bfd interval 300 min_rx 300 multiplier 3; no shutdown service-policy type queuing output PM-Q-EGRESS interface Ethernet1/2 no switchport; mtu 9216; ip address 10.0.23.1/31 ip router isis UNDERLAY; isis network point-to-point; bfd bfd interval 300 min_rx 300 multiplier 3; no shutdown service-policy type queuing output PM-Q-EGRESS ! ---- 主机接入口 ---- interface Ethernet1/3 switchport access vlan 10 spanning-tree port type edge priority-flow-control mode on priority-flow-control send-tlv priority-flow-control watch-dog-interval on no shutdown ! ---- VLAN ↔ VNI ---- vlan 10; vn-segment 10010 vlan 20; vn-segment 10020 vlan 99; vn-segment 10099 ! ---- VRF + L3 VNI ---- vrf context TENANT-A vni 10099; rd auto address-family ipv4 unicast route-target both auto route-target both auto evpn ! ---- 任播网关 SVI ---- interface Vlan10 no shutdown; vrf member TENANT-A; ip address 172.16.10.1/24 fabric forwarding mode anycast-gateway interface Vlan20 no shutdown; vrf member TENANT-A; ip address 172.16.20.1/24 fabric forwarding mode anycast-gateway interface Vlan99 no shutdown; vrf member TENANT-A; ip forward ! ---- NVE 隧道 ---- interface nve1 no shutdown host-reachability protocol bgp source-interface loopback1 member vni 10010 member vni 10020 member vni 10099 associate-vrf ! ---- IS-IS Underlay ---- router isis UNDERLAY net 49.0001.0000.0000.0011.00 is-type level-2 metric-style wide log-adjacency-changes bfd spf-interval 50 50 200 lsp-gen-interval 50 50 200 ! ---- BGP EVPN ---- router bgp 65000 router-id 10.255.0.3 maximum-paths 64 ibgp 64 graceful-restart neighbor 10.255.0.1 remote-as 65000 update-source loopback0 address-family l2vpn evpn send-community both neighbor 10.255.0.2 remote-as 65000 update-source loopback0 address-family l2vpn evpn send-community both vrf TENANT-A address-family ipv4 unicast advertise l2vpn evpn ! ---- ECN / QoS ---- wred-queue qos-group-map queue-only 1 class-map type queuing c-q-ecn; match qos-group 1 policy-map type queuing PM-Q-EGRESS class type queuing c-q-ecn bandwidth percent 50 congestion-control random-detect ecn class type queuing class-default bandwidth percent 50 end copy running-config startup-config
📌 多租户扩展(Tenant-B) 想再加一个租户,只需:新建 vrf context TENANT-B + 新的 L3 VNI(如 20099)+ 新 VLAN/VNI 映射 + 新的任播 SVI(新子网,如 172.17.x.x)+ 在 NVE 里加 member vni + BGP 里加 vrf TENANT-B ... advertise l2vpn evpn。各租户路由天然隔离,互不可见——这就是 VXLAN 多租户的魅力。

9. 命令速查表

目的命令
看 IS-IS 邻居show isis adjacency
看 Underlay 路由show ip route isis / show ip route
看 BGP EVPN 邻居show bgp l2vpn evpn summary
看 EVPN 路由表show bgp l2vpn evpn
看 NVE 接口/VNIshow nve interface / show nve vni / show nve peer
看 VXLAN 映射show vxlan vni / show vxlan interface
看任播网关 MACshow fabric forwarding anycast-gateway-mac
看 ARP 抑制/表项show ip arp suppress / show ip arp vrf TENANT-A
看 QoS/ECNshow queuing interface eth1/1 / show policy-map interface
看 PFCshow priority-flow-control
保存配置copy running-config startup-config
🎉 收尾 按本手册走完,你拥有了一套可在 EVE-NG 中反复练习的生产级 2-Tier 数据中心 fabric:IS-IS 打通 Underlay、VXLAN EVPN 实现跨 Leaf 二层/三层、ECN/PFC 保障拥塞下的吞吐。想把实验“升级”,可以加 vPC(双 Leaf 双活)、多站点 DCI、或 Segment Routing。祝你实验顺利!