当前位置: 首页 > news >正文

VXLAN + EVPN 分布式部署

今天这篇教程,不讲枯燥的理论,直接带大家做一个最经典的实验:两个不同网段的电脑(PC1 和 PC2),如何通过 VXLAN + EVPN 实现自动互通。只要你有华为模拟器(eNSP)或真机,跟着敲命令就能成功!


一、 实验拓扑与规划

1. 拓扑图解析

我们模拟两个园区,中间一台路由器(AR1)模拟骨干网。

  • CE1 & CE2:作为核心交换机(VTEP节点),负责 VXLAN 封装和解封装。
  • LSW1 & LSW2:接入层交换机,连接终端 PC。
  • AR1:模拟中间的传输网络。

2. 地址与资源规划表

设备接口/IP作用备注
AR1Loopback0: 3.3.3.3/32模拟公网/骨干可达性OSPF Area 0
GE0/0/0: 10.10.11.2/24连接 CE1
GE0/0/1: 10.10.22.2/24连接 CE2
CE1Loopback0: 1.1.1.1/32VTEP 源地址OSPF Area 0
GE0/0/1: 10.10.11.1/24连接 AR1
GE1/0/0: Trunk连接 LSW1允许 VLAN 10
VBDIF 10: 192.168.10.1/24PC1 网关绑定 CDMA_Outband
CE2Loopback0: 2.2.2.2/32VTEP 源地址OSPF Area 0
GE0/0/1: 10.10.22.1/24连接 AR1
GE1/0/0: Trunk连接 LSW2允许 VLAN 20
VBDIF 20: 192.168.20.1/24PC2 网关绑定 CDMA_Outband
PC1IP: 192.168.10.123终端网关指向 192.168.10.1
PC2IP: 192.168.20.123终端网关指向 192.168.20.1

关键概念提示

  • L2 VNI (100, 200):用于标识不同的二层广播域(相当于传统 VLAN ID 的扩展)。
  • L3 VNI (123):用于三层网关互联,所有VPN 实例共用一个 L3 VNI。
  • CDMA_Outband实例:逻辑隔离的路由表,确保不同租户数据不混淆。

二、 第一步:打通底层网络(Underlay)

目标:让 CE1 和 CE2 的 Loopback 接口能互相 Ping 通。这是建立 VXLAN 隧道的基础。

1. 配置 AR1(中间路由器)

sysname AR1 interface GigabitEthernet0/0/0 undo shutdown ip address 10.10.11.2 255.255.255.0 # interface GigabitEthernet0/0/1 undo shutdown ip address 10.10.22.2 255.255.255.0 # interface LoopBack0 ip address 3.3.3.3 32 # ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 10.10.11.0 0.0.0.255 network 10.10.22.0 0.0.0.255 network 3.3.3.3 0.0.0.0

2. 配置左侧 CE1

sysname CE1 # 配置互联接口 interface GigabitEthernet0/0/1 undo shutdown ip address 10.10.11.1 255.255.255.0 # interface LoopBack0 ip address 1.1.1.1 32 # # 配置 OSPF ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 10.10.11.0 0.0.0.255 network 1.1.1.1 0.0.0.0

3. 配置右侧 CE2

sysname CE2 # 配置互联接口 interface GigabitEthernet0/0/1 undo shutdown ip address 10.10.22.1 255.255.255.0 # interface LoopBack0 ip address 2.2.2.2 32 # # 配置 OSPF ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 10.10.22.0 0.0.0.255 network 2.2.2.2 0.0.0.0

验证点:在 CE1 上执行ping -a 1.1.1.1 2.2.2.2,如果能通,说明 Underlay 没问题。


三、 第二步:配置接入层与业务网关(Overlay 基础)

目标:让 PC 能 Ping 通自己的网关,并规划好 VXLAN 参数。

1. 接入交换机配置(LSW1 & LSW2)

左侧LSW1 :

vlan 10 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 # interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 10

右侧LSW2 :

vlan 20 interface GigabitEthernet0/0/1 port link-type access port default vlan 20 # interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 20

2. CE1 业务配置

# 创建桥接域 BD 10 bridge-domain 10 vxlan vni 100 # 关联二层 VNI # 配置下行接口,划入 BD interface GigabitEthernet1/0/0 undo shutdown port link-type trunk port trunk allow-pass vlan 10 # interface GigabitEthernet1/0/0.10 mode l2 encapsulation dot1q vid 10 bridge-domain 10 # 配置三层网关 VBDIF interface Vbdif10 ip address 192.168.10.1 24

3. CE2 业务配置

# 创建桥接域 BD 20 bridge-domain 20 vxlan vni 200 # 关联二层 VNI # 配置下行接口,划入 BD interface GigabitEthernet1/0/0 undo shutdown port link-type trunk port trunk allow-pass vlan 20 # interface GigabitEthernet1/0/0.20 mode l2 encapsulation dot1q vid 20 bridge-domain 20 # 配置三层网关 VBDIF interface Vbdif20 ip address 192.168.20.1 24

验证点:配置 PC1 IP 为 192.168.10.123,Ping 192.168.10.1 应该通。PC2 同理。此时两边还互不相通。


四、 第三步:配置 BGP EVPN 控制平面

目标:让 CE1 和 CE2 交换 MAC 地址和主机路由信息。

1. CE1 配置

evpn-overlay enable bgp 100 router-id 1.1.1.1 peer 2.2.2.2 as-number 100 peer 2.2.2.2 connect-interface LoopBack0 # l2vpn-family evpn policy vpn-target peer 2.2.2.2 enable peer 2.2.2.2 advertise irb # 关键!发布三层 IRB 路由

2. CE2 配置

evpn-overlay enable bgp 100 router-id 2.2.2.2 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack0 # l2vpn-family evpn policy vpn-target peer 1.1.1.1 enable peer 1.1.1.1 advertise irb # 关键!发布三层 IRB 路由

注意:必须在 BGP 视图下先输入l2vpn-family evpn进入地址簇视图,再配置 peer enable。


五、 第四步:配置 VRF实例与 EVPN 绑定

目标:将业务隔离在实例中,并启用 EVPN 自动发现功能。

1. CE1 配置

# 1. 创建实例 ip vpn-instance CDMA_Outband ipv4-family route-distinguisher 100:1 vpn-target 100:1 export-extcommunity evpn vpn-target 100:1 import-extcommunity evpn vxlan vni 123 # 三层 VNI,两端必须一致 # 2. 将网关绑定到 实例 interface Vbdif10 ip binding vpn-instance CDMA_Outband arp collect host enable # 开启主机路由收集,否则无法生成 Type5 路由 # 3. 在 BD 中启用 EVPN bridge-domain 10 evpn route-distinguisher 100:1 vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity

2. CE2 配置

# 1. 创建实例 ip vpn-instance CDMA_Outband ipv4-family route-distinguisher 100:1 vpn-target 100:1 export-extcommunity evpn vpn-target 100:1 import-extcommunity evpn vxlan vni 123 # 三层 VNI,两端必须一致 # 2. 将网关绑定到 实例 interface Vbdif20 ip binding vpn-instance CDMA_Outband arp collect host enable # 开启主机路由收集 # 3. 在 BD 中启用 EVPN bridge-domain 20 evpn route-distinguisher 100:1 vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity

六、 第五步:建立 VXLAN 隧道(NVE)

目标:建立数据转发通道。这里使用 BGP 自动发现对端,比手动指定更灵活。

1. CE1 配置

interface Nve1 source 1.1.1.1 # 使用 Loopback 接口作为源 vni 100 head-end peer-list protocol bgp # 二层 VNI 100 走 BGP 自动发现 vni 123 head-end peer-list protocol bgp # 三层 VNI 123 走 BGP 自动发现

2. CE2 配置

interface Nve1 source 2.2.2.2 # 使用 Loopback 接口作为源 vni 200 head-end peer-list protocol bgp # 二层 VNI 200 走 BGP 自动发现 vni 123 head-end peer-list protocol bgp # 三层 VNI 123 走 BGP 自动发现

七、 最终验证与排错

1. 验证连通性

  • PC1 Ping PC2ping 192.168.20.123,应该能通!

  • 查看 BGP EVPN 路由

    display bgp evpn all routing-table

    你应该能看到 Type 2 (MAC/IP) 和 Type 5 (IP Prefix) 路由。

  • 查看 VXLAN 隧道

    display vxlan tunnel

    状态应为 UP。

2. 常见坑点(小白必看)

  1. Ping 不通?检查arp collect host enable是否配置。如果没有这条命令,网关不会主动学习主机路由,也就不会通过 EVPN 发布给对端。
  2. BGP 没起来?检查 Underlay OSPF 是否真的通了,Loopback 口是否能互相 Ping 通。
  3. VNI 不匹配?确保两端的 L3 VNI (123) 完全一致,L2 VNI (100/200) 可以不同但要在 NVE 接口正确引用。
  4. 忘记开 EVPN?全局视图下必须敲evpn-overlay enable(部分新版本默认开启,老版本必须敲)。

结语

通过这个实验,我们不仅实现了跨园区的互通,更重要的是理解了“控制面与转发面分离”的思想。EVPN 解决了传统 VXLAN 泛洪的问题,让大规模云数据中心网络成为可能。

如果你觉得这篇文章对你有帮助,欢迎点赞收藏!

http://www.jsqmd.com/news/1138993/

相关文章:

  • 光伏储能一体机系统设计:从5kW户用到500kW工商业的3种典型配置方案
  • 开发者选择转向工作流,云服务提供商如何在开发各阶段破局?
  • 视觉语言模型驱动的机器人安全动作过滤框架
  • struct结构体的自引用和交叉互相引用需要前向typedef
  • 超声波雾化器PCB设计3要点:从15W加湿到6W香薰的电源与EMC考量
  • OpenClaw飞书多Agent集成四步契约:Binding注册、Skill隔离、路由策略与PSM闭环
  • 全国第六、江苏第一!苏州这所国际学校AI 教学已经甩开同行一大截
  • 快速浏览Silverlight3 Beta:在浏览器外运行Silverlight应用
  • iphtml vs 其他代理 IP:对比测评
  • 曲辕RPA-修改列表指定位置项的值
  • 《连线》曝光:Meta“戛纳计划”雇人伪装未成年人,向竞品 AI 发 4.5 万条高风险提问
  • 1688图搜无货源选品实施方案
  • 豆包如何读懂GitHub仓库:AI驱动的代码语义解析实践
  • 黄历查询-运势查询-国际法定节假日查询-API接口介绍
  • Nova视觉小说开发完全指南:程序员的高效Unity游戏框架
  • 计算机毕业设计之基于jsp企业员工管理系统
  • 如何预防独服硬盘损坏?RAID 0/1/5/10 阵列安全与速度全方位评测
  • 三维空间对齐:视觉-语言-动作统一建模的工程实践
  • 英雄联盟League-Toolkit终极指南:免费开源的游戏效率工具完整使用教程
  • 机器人强化学习中的可恢复性治理:物理约束驱动的规模化训练
  • 回应“滥收费、背刺用户”质疑,WPS优化缓存管理,重申免费功能不收费原则
  • 基于大数据Hadoop+微信小程序的直播带货商品数据分析系统的设计与实现开题报告
  • Prompt 提示词工程
  • Kyosan Electric 2L80-000558-V1电源模块
  • 《面试八股文》之 Kafka 21卷,全文背诵
  • Gemini桌面端:首个系统级AI Agent的架构与实战
  • 【单片机毕业设计】基于 STM32 的四层智能电梯控制系统设计与实现,基于单片机的模拟电梯步进电机驱动系统开发(016801)
  • Conventional Branch Skill:基于npx的声明式分支策略执行单元
  • 从自动回复到智能助理:微信自动化开发的技术终局是什么?
  • Mac终端效率革命:Rust高性能CLI工具链实战指南