【华三】VXLAN-三层集中式网关配置

目录

什么是VXLAN技术:

VXLAN的相关术语:

[NVE(Network Virtualization Edge,网络虚拟化边缘设备):](#NVE(Network Virtualization Edge,网络虚拟化边缘设备):)

[VTEP(VXLAN Tunnel Endpoint,VXLAN 隧道端点):](#VTEP(VXLAN Tunnel Endpoint,VXLAN 隧道端点):)

[VXLAN网络(VXLAN Network):](#VXLAN网络(VXLAN Network):)

[VXLAN Segment(VXLAN 段):](#VXLAN Segment(VXLAN 段):)

[VNI/VNID(VXLAN ID ,VXLAN 网络标识) :](#VNI/VNID(VXLAN ID ,VXLAN 网络标识) :)

[VXLAN隧道(VXLAN Tunnel) :](#VXLAN隧道(VXLAN Tunnel) :)

核心设备:

[VSI(Virtual Switching Instance,虚拟交换实例):](#VSI(Virtual Switching Instance,虚拟交换实例):)

[VSI Interface(VSI 接口):](#VSI Interface(VSI 接口):)

[AC(Attachment Circuit):](#AC(Attachment Circuit):)

[用户终端(User Terminal):](#用户终端(User Terminal):)

VXLAN的工作模式;

L2Gateway二层转发模式---实现同VNI段内主机互访:

L3Gateway三层转发模式---实现不同VNI段内主机互访:

实验需求

实验步骤

实验拓扑

实验配置:

R1:

R2:

R4:

R3(集中式网关设备):

SRV:

SW1:

SW2:

PC(用思科路由器模拟):

测试

抓包:

分析PC1去访问PC2的具体通信流程:

[第一步:PC1 发数据到 L2 网关(R1)](#第一步:PC1 发数据到 L2 网关(R1))

[第二步:L2 网关封装并转发到 L3 网关(R3)](#第二步:L2 网关封装并转发到 L3 网关(R3))

[第三步:L3 网关解封装并转发到目标 L2 网关(R1)](#第三步:L3 网关解封装并转发到目标 L2 网关(R1))

[第四步:目标 L2 网关解封装并转发到 PC2](#第四步:目标 L2 网关解封装并转发到 PC2)

[PC2 回包时,流程相反:](#PC2 回包时,流程相反:)

[关于PC1 发 5 个请求,却在 R3 的 g1/0 抓到 20 个 ICMP 包,其具体原因如下:](#关于PC1 发 5 个请求,却在 R3 的 g1/0 抓到 20 个 ICMP 包,其具体原因如下:)

进一步体现了VXLAN集中式网关的弊端:

[查看L2vpn的MAC地址表以及LINK ID](#查看L2vpn的MAC地址表以及LINK ID)

查看Tunnel信息

配置文档


什么是VXLAN技术:

华三 VXLAN 技术全称为虚拟可扩展局域网(Virtual Extensible Lan),是一种网络虚拟化技术,是Overlay技术的一种。可以在三层网络上构建虚拟的二层网络,实现不同租户间的隔离和灵活的组网需求。其本质是通过 "隧道封装" 将二层数据帧封装在三层 IP 报文中传输,打破传统二层网络的物理边界 ,通过隧道机制在现有网络上构建一个叠加的网络,从而绕过现有VLAN标签的限制。隧道的原目设备为Overlay边缘设备。该技术的核心价值在于以 Overlay 方式打破传统网络的物理限制,实现 "大二层互联、大规模隔离、自动化运维"。

VXLAN的相关术语:

NVE(Network Virtualization Edge,网络虚拟化边缘设备):

定义

VXLAN 网络中负责 "虚拟化功能实现" 的边缘设备,是 VXLAN Overlay 网络与 Underlay 物理网络的 "衔接点",能完成 VXLAN 数据帧的封装 / 解封装、租户信息映射等核心操作。

核心作用:

1、接收本地租户(如虚拟机、物理服务器)的二层数据帧,添加 VXLAN 头部(含 VNI)封装为三层 IP 报文;

2.接收 Underlay 网络传来的 VXLAN 封装报文,解封装后转发给本地对应租户终端;

3.维护 "租户 - VNI - 物理端口" 的映射关系,确保数据精准路由到目标租户。

VTEP(VXLAN Tunnel Endpoint,VXLAN 隧道端点):

定义:

NVE 设备中直接承担 "VXLAN 隧道建立与数据转发" 的具体功能实体,通常以 "设备 IP 地址" 作为隧道标识(即 VTEP IP),是 VXLAN 隧道的 "起点" 和 "终点",一般使用loopback接口作为VTEP地址,一对VTEP地址就对应一条VXLAN隧道,VXLAN报文的外层IP地址头部就对应VXLAN隧道两端的VTEP IP地址。

核心作用:

  1. 建立隧道:通过 BGP EVPN、静态配置等方式,与其他 VTEP 协商建立 VXLAN 隧道(本质是 IP 层的逻辑连接);
  2. 用于VXLAN报文的封装 / 解封装:将租户的原始二层数据帧(如以太网帧)封装为 "外层以太网帧头部+外层IP头 +外层UDP头部 + VXLAN头+原始数据帧" 格式的报文(封装后通过 Underlay 网络传输),或反向解封装;
  3. 地址学习:通过 ARP 广播抑制、EVPN 路由同步等方式,学习远端租户的 "IP - MAC - VTEP IP" 映射关系,避免广播风暴。

VXLAN网络(VXLAN Network):

定义:

基于 Underlay 物理 IP 网络(如数据中心三层交换机、路由器组成的 IP 网络)构建的 "逻辑 Overlay 网络",通过 VXLAN 隧道将分散的物理节点(服务器、虚拟机)虚拟化为一个或多个 "逻辑二层网络"。

核心作用:

  1. 打破物理边界:让不同物理位置(如跨机架、跨机房)的终端,如同处于同一二层网络,支持虚拟机跨区域迁移;
  2. 资源池化:将物理网络资源(带宽、端口)按租户需求虚拟化为独立逻辑网络,实现资源按需分配;
  3. 隔离 Underlay 与 Overlay:Overlay 层的租户业务故障(如广播风暴)不会影响 Underlay 物理网络,提升整体网络稳定性。

VXLAN Segment(VXLAN 段):

定义:

VXLAN 网络中用于 "划分逻辑广播域" 的单元,每个 VXLAN Segment 对应一个独立的 "租户或业务组",本质是VNI(见下文)的逻辑映射 ------ 一个 VNI 即代表一个 VXLAN Segment。

核心作用:

  1. 广播域隔离:同一 VXLAN Segment 内的终端可直接二层通信(如 ARP 广播仅在段内传播),不同段之间默认无法互通(需三层网关转发);
  2. 业务分组:按业务类型(如 "Web 服务器段""数据库段")或租户划分 VXLAN Segment,便于网络管理与安全控制(如对某段单独配置 ACL)。

VNI/VNID(VXLAN ID ,VXLAN 网络标识) :

定义:

**用于唯一标识 "VXLAN Segment"**的 24 位数字(取值范围 0-16777215),相当于 VXLAN 网络中的 "虚拟 VLAN ID",但数量远超传统 VLAN(仅 4094 个)。

核心作用:

  1. 租户隔离:不同租户使用不同 VNI,VTEP 通过解析 VXLAN 头部中的 VNI,判断数据归属的租户,确保租户间流量不互通;
  2. 路由映射:在三层转发场景中(如跨 VXLAN Segment 通信),VNI 与三层 VPN 实例(如华三的 VRF)绑定,实现 "VNI→VRF→物理路由" 的映射,让数据跨段转发。

VXLAN隧道(VXLAN Tunnel) :

定义:

由两个 VTEP 之间建立的 "逻辑通信通道",本质是通过 Underlay IP 网络传输 VXLAN 封装报文的 "虚拟链路",隧道两端的 VTEP IP(通常是设备 Loopback 接口 IP)作为隧道的 "源 / 目的地址"。

核心作用:

  1. 承载二层数据:将不同物理位置的 VXLAN Segment 通过隧道连接,让二层数据能跨三层 IP 网络传输(如虚拟机跨机房迁移时的数据流);
  2. 隔离传输:隧道内的 VXLAN 报文仅在两端 VTEP 解封装,Underlay 网络设备(如中间路由器)仅转发 IP 报文,无法感知隧道内的租户数据。

核心设备:

定义:

在 VXLAN 网络架构中承担 "核心转发、全局控制、网关汇聚" 功能的设备,通常位于 Underlay 网络的核心层,是连接多个接入区域(如不同机架、不同机房)的关键节点。

核心作用(Core Device):

  1. Underlay 核心转发:转发不同 VTEP 之间的 VXLAN 封装报文,确保跨区域隧道通信的带宽与低延迟;
  2. 集中式网关:若部署集中式 VXLAN 网关,核心设备需承担 "跨 VXLAN Segment 三层转发""NAT""QoS 调度" 等功能;
  3. 控制平面汇聚:作为 BGP EVPN 的路由反射器(RR),汇聚各接入层 VTEP 的路由信息,实现租户路由的全局同步。

VSI(Virtual Switching Instance,虚拟交换实例):

定义:

华三设备中用于 "模拟租户专属交换机" 的逻辑功能实例,每个 VSI 对应一个 VXLAN Segment(即绑定一个 VNI),具备独立的二层转发表、ARP 表、VLAN 表,相当于租户的 "私有交换机"。

核心作用:

  1. 租户隔离:不同 VSI 的转发表、ARP 表完全独立,租户 A 的终端无法通过 VSI 访问租户 B 的终端;
  2. 业务适配:为 VSI 配置独立的二层策略(如 VLAN 剥离、链路聚合),适配租户的个性化需求(如某租户需将物理端口 VLAN 10 映射到 VSI);
  3. 对接终端:服务器、虚拟机通过物理端口或虚拟网卡(如 VMware vNIC)接入 VSI,实现与 VXLAN 网络的连接。

PS:一个VSI可以关联多个VXLAN隧道,但一个VSI只能关联一个VNI。

VSI Interface(VSI 接口):

定义:

VSI 实例与设备其他功能模块(如三层网关、VPN)交互的 "逻辑接口",是 VXLAN 二层网络与三层网络的 "衔接点",也称为 "VXLAN 三层网关接口"。

核心作用:

  1. 三层转发:作为 VXLAN Segment 的 "默认网关",接收本 VSI 内终端的三层数据(如跨 VNI 访问的报文),转发到其他 VSI 或外部网络(如 Internet);
  2. 地址配置:为 VSI Interface 配置 IP 地址(作为租户终端的网关 IP),例如 VSI "Finance" 的 VSI Interface 配置 192.168.1.1/24,财务虚拟机的网关均指向该地址;
  3. 策略承载:在 VSI Interface 上配置 ACL、NAT、QoS 等三层策略,实现对租户三层流量的控制(如禁止某 VSI 访问外网)。

AC(Attachment Circuit):

定义:

VXLAN 网络中 "连接用户终端与 VSI 实例的关联链路",也是需在华三交换机上创建的 "服务实例",本质是终端接入 VXLAN 网络的 "桥梁载体",通过绑定终端接口与对应 VSI,实现终端流量定向接入 VXLAN 逻辑网络。

核心作用:

  1. 接口 - VSI 关联:将连接终端的物理接口(如交换机千兆电口)或逻辑接口(如虚拟接口),绑定到对应的 VSI 实例,例如华三 S5860 交换机的 Gi1/0/2 端口(连接物理服务器),通过 AC 关联到 "财务业务 VSI",确保服务器流量仅接入该 VSI;
  2. 服务实例创建:作为可配置的服务实例,需在交换机上手动创建并配置参数,比如在华三交换机上通过命令创建 AC 服务实例 10,指定其关联的 VSI 为 "研发测试 VSI",成为终端接入的 "逻辑标识";
  3. 感兴趣流指定(接口 / VLAN 方式):基于接口方式时,AC 默认将对应接口接收的所有终端流量,作为感兴趣流导入关联 VSI;基于 VLAN 方式时,AC 仅将终端流量中携带指定 VLAN 标签(如 VLAN 20)的流量,作为感兴趣流定向接入 VSI,例如 AC 服务实例 20 指定 "匹配 VLAN 20 流量",仅将携带 VLAN 20 的 PC 流量,导入 "办公业务 VSI"。

用户终端(User Terminal):

定义:

VXLAN 网络的 "最终接入对象",即使用 VXLAN 网络资源的终端设备,包括物理设备和虚拟设备,是租户业务的承载主体。

核心作用:

  1. 物理终端:如物理服务器、台式机、笔记本、IoT 设备(如监控摄像头),通过物理网卡接入华三交换机的 VSI 绑定端口,获取 VXLAN 网络接入权限;
  2. 虚拟终端:如虚拟机(VM,如 KVM、VMware VM)、容器(如 Docker、K8s Pod),通过虚拟网卡(如 vNIC)接入宿主机的虚拟交换机(如华三 vSwitch),再由宿主机或接入交换机映射到对应的 VXLAN Segment。

PS:用户终端 "无需感知 VXLAN 存在"------ 终端的通信逻辑与传统二层网络完全一致(如通过 IP、MAC 通信),VXLAN 的封装 / 解封装由 VTEP 自动完成,对终端透明。

VXLAN的工作模式;

从 "二层" 和 "三层" 维度划分 VXLAN 工作模式,核心是看数据转发是否跨越 "VXLAN 段(二层广播域)" ------ 二层模式聚焦 "同一 VXLAN 段内的通信",三层模式聚焦 "不同 VXLAN 段间的通信",逻辑更贴合网络分层逻辑:

L2Gateway二层转发模式---实现同VNI段内主机互访:

VTEP通过查找MAC地址表项对流量进行转发,**用于相同VXLAN或VXLAN与VLAN的设备之间的互相通讯,**核心是 "让不同物理位置的设备,像在同一传统二层网里一样互通",数据只在二层封装传输,不涉及三层转发,。

工作逻辑(通俗版):

  1. 终端发数据:比如虚拟机 VM1(属于 VNI 100 段)要给同段的虚拟机 VM2(物理位置跨机架)发数据,先把数据发给本地接入交换机Edge1(VTEP A);
  2. VTEP 封装:交换机Edge1(VTEP A) 识别数据属于 VNI 100,给数据 "包一层 VXLAN 外壳"(加 VNI、对端 VTEP IP 等信息),变成能在三层 IP 网传输的报文;
  3. 隧道传数据:封装后的报文通过 Underlay 三层 IP 网,走 VXLAN 隧道传到虚拟机 VM2 的本地接入交换机Edge2(VTEP B);
  4. 解封装转发:本地接入交换机Edge2 (VTEP B) 拆了 "VXLAN 外壳",识别出是 VNI 100 的 data,再发给虚拟机 VM2。

关键特点:

1、只涉及 "VXLAN 隧道封装 / 解封装",不经过三层网关;

2、同一 VNI 段内的广播、ARP 请求,会通过隧道在段内传播(但 VTEP 会做抑制,避免广播风暴);

3、核心用例:虚拟机跨机架 / 跨机房迁移(迁移时 IP、MAC 不变,业务不中断)、同一业务组设备互联(如所有 Web 服务器在一个 VNI 段)。

L3Gateway三层转发模式---实现不同VNI段内主机互访:

VTEP通过查询IP表项/ARP表项对流量进行转发,实现跨VXLAN的设备,或者VXLAN与传统IP网络间的互相通讯 。其核心是 "让不同 VXLAN 段的设备互通",需要通过 "VXLAN 网关" 做三层转发,本质是 "二层 VXLAN 网络 + 三层路由" 的结合。

工作逻辑(通俗版):

  1. 假设 VM1 属于 VNI 100(网段 192.168.1.0/24),VM2 属于 VNI 200(网段 192.168.2.0/24),跨段通信时:

  2. 终端发跨段数据 :VM1(192.168.1.1)要访问 VM2(192.168.2.1),先把数据发给自己的 L2 网关(Edge1)(因为 VM1 直接连接的是 Edge1 这个 L2 网关,负责接入 VXLAN 网络)。

  3. L2 网关封装转发到 L3 网关 :Edge1 识别到目标 IP(192.168.2.1)属于其他 VNI(VNI 200),会将数据封装成 VXLAN 报文,并转发到 Border L3 网关(因为图中三层网关是集中式的 Border 设备)。

  4. L3 网关三层转发 :Border L3 网关收到 VXLAN 报文后,解封装并检查目标 IP(192.168.2.1),查询路由表和ARP表(需提前配置跨 VNI 的路由,比如知道 VNI 200 的流量要转发到 Edge2)。

  5. L3 网关转发到目标 L2 网关:Border L3 网关将数据重新封装成 VXLAN 报文(目标 VNI 200),转发到目标 L2 网关(Edge2)。

  6. 目标 L2 网关拆封装转发 :Edge2 收到报文后,解封装 VXLAN 头部,将原始数据转发给 VM2(192.168.2.1)。

  7. 返程同理:VM2 回包时,先发给 Edge2 ,Edge2 封装后发给 Border L3 网关 , Border L3 网关转发给 Edge1 , Edge1 解封装发给 VM1。

关键特点:

1.必须依赖 "VXLAN 网关"(没有网关,不同 VNI 段完全隔离);

2.数据会经历 "二层 VXLAN 封装 → 三层转发 → 目标侧二层解封装" 的过程;

3.核心用例:不同业务组互通(如 Web 服务器段 VNI 100 访问数据库段 VNI 200)、VXLAN 段访问外网(网关做 NAT 后连 Internet)。

VXLAN集中式网关:

在L3Gateway三层转发模式下,VXLAN技术分为两种类型的网关,一种是集中式网关,另一种是分布式网关。对于集中式网关的配置我们可以通过静态方式或EVPN方式动态完成

集中式网关,只有一个VTEP设备作为L3GW,通常部署在网络核心层设备上,如核心交换机。所有跨 VXLAN Segment(虚拟扩展局域网段)的三层转发都由核心层的集中式网关处理 。因此存在以下优点及缺点。

优点:

  1. 管理方便,便于进行统一的安全策略配置,比如在网关处集中配置访问控制列表(ACL)、网络地址转换(NAT)、服务质量(QoS)等策略;

2.网络拓扑相对简单,对于网络规模较小、安全管控要求高的场景,集中式网关便于网络管理员集中管理和维护。

缺点:

1.容易形成网络瓶颈,因为所有跨段流量都要经过核心层的集中式网关,可能会产生次优路径问题,当网络规模扩大、流量增加时,可能导致网关处的处理压力过大,影响网络转发性能;

  1. 存在单点故障风险,如果集中式网关设备出现故障,会影响到整个网络的跨段通信。

3.集中式网关需要维护和记录所有主机的ARP记录,会导致可能超出ARP表的规格

VXLAN分布式网关:

分布式网关可存在多台VTEp设备作为L3GW,分布式网关将网关功能分散到接入层或汇聚层的 VTEP 设备上。本地跨 VXLAN 的流量可以直接在接入层的 VTEP 设备上进行三层转发,无需经过核心层的集中式网关,大大减少了数据转发的路径和延迟,提高了转发效率。例如,在同一机架内的不同 VXLAN 的虚拟机之间通信时,流量可以在接入交换机上快速完成转发,适合对延迟敏感的应用场景。对于分布式网关的布置我们一般通过结合"EVPN 控制平面协议进行配置。

优点:

1.可靠性强 :由于网关功能分布在多台设备上,单个 VTEP 设备的故障只会影响局部的网络通信,不会导致整个网络的跨 VXLAN 通信中断。而且,华三的分布式网关设备通常支持丰富的冗余和高可靠性技术,如链路聚合、热备份等,进一步增强了网络的可靠性和容错能力。

2.扩展性好 :当网络规模扩大时,只需要在新接入的 VTEP 设备上启用分布式网关功能,并通过 EVPN(以太网虚拟专用网)等协议与其他 VTEP 设备进行路由信息同步,即可实现网络的平滑扩展,无需对核心层设备进行大规模的升级改造,降低了网络扩展的成本和难度。

3.转发效率高 :分布式网关将网关功能分散到接入层或汇聚层的 VTEP 设备上,如华三的 S5860 系列接入交换机。本地跨 VXLAN 的流量可以直接在接入层的 VTEP 设备上进行三层转发,无需经过核心层的集中式网关,大大减少了数据转发的路径和延迟,提高了转发效率。例如,在同一机架内的不同 VXLAN 的虚拟机之间通信时,流量可以在接入交换机上快速完成转发,适合对延迟敏感的应用场景。

缺点:

1.管理复杂度高 :分布式网关需要在多台 VTEP 设备上进行配置和管理,相比集中式网关,管理的设备数量更多,配置项更分散。例如,要在所有分布式网关上统一配置一条安全策略,需要分别登录到每台设备进行操作,增加了管理的工作量和出错的概率。同时,不同设备之间的配置一致性也需要严格把控。

2.策略同步挑战 :虽然可以通过 EVPN 等协议实现分布式网关之间的路由信息同步,但在实际应用中,要确保所有设备的策略(如安全策略、QoS 策略 )完全同步仍然存在一定挑战。特别是在网络环境复杂、设备数量众多的情况下,可能会出现策略更新不及时或不一致的情况,影响网络的正常运行。

3.成本增加 :分布式网关需要在多台 VTEP 设备上实现网关功能,这要求这些设备具备较高的性能和功能,可能需要采购更高规格的设备,增加了硬件成本。此外,由于管理复杂度的提高,也会带来运维成本的上升。

实验需求

R4为IP核心网络

R1和R2与服务器连接的VTEP设备,通过IP核心网络实现三层互通。

虚拟机PC连接交换机SW,通过VXLAN网络实现二层互通。

R3为各虚拟机PC的集中式网关,实现各虚拟机PC可访问外网8.8.8.8

实验步骤

在R1,R2,R3,R4设备上:

1.underlay的建立,全网可达(全网启用OSPF)

2.配置VXLAN隧道,指定采用VXLAN的封装模式

3.激活L2VPN功能,配置VSI,关联VNI,绑定VXLAN隧道

4.配置服务实例(AC),指定感兴趣流,绑定VSI

在R3集中式网关设备上:

1.配置VSI接口,并配置IP地址。

2.将VSI接口关联到VSI实例中

3.匹配VM1,VM2和VM3的网段,并配置NAT

实验拓扑

实验配置:

R1:

1.underlay的建立,全网可达(全网启用OSPF)

复制代码
[R1]int g2/0
[R1-GigabitEthernet2/0]ip address 10.1.14.1 24
[R1-GigabitEthernet2/0]quit

[R1]int lo 0
[R1-LoopBack0]ip address 10.255.12.1 32
[R1-LoopBack0]quit

[R1]int range g2/0 lo0
[R1-if-range]ospf 1 area 0
[R1-if-range]quit

2.配置VXLAN隧道,指定采用VXLAN的封装模式

复制代码
[R1]int Tunnel 12 mode vxlan             ---指定采用VXLAN的封装模式
[R1-Tunnel12]source  lo0                ---指定隧道源地址
[R1-Tunnel12]destination 10.255.12.2     ---指定隧道目的地址
[R1-Tunnel12]quit

[R1]int Tunnel 13 mode vxlan
[R1-Tunnel13]source lo0
[R1-Tunnel13]destination 10.255.1.3
[R1-Tunnel13]quit

3.激活L2VPN功能,配置VSI,关联VNI,绑定VXLAN隧道

复制代码
[R1]l2vpn enable                  ---激活L2VPN功能

[R1]vsi vm1                       ---配置VSI
[R1-vsi-vm1]vxlan 10              ---关联VNI
[R1-vsi-vm1-vxlan-10]tunnel 12    ---绑定VXLAN隧道
[R1-vsi-vm1-vxlan-10]tunnel 13
[R1-vsi-vm1-vxlan-10]quit
[R1-vsi-vm1]quit

[R1]vsi vm2
[R1-vsi-vm2]vxlan 20
[R1-vsi-vm2-vxlan-20]tunnel 12
[R1-vsi-vm2-vxlan-20]tunnel 13
[R1-vsi-vm2-vxlan-20]quit
[R1-vsi-vm2]quit

[R1]vsi vm3
[R1-vsi-vm3]vxlan 30
[R1-vsi-vm3-vxlan-30]tunnel 12
[R1-vsi-vm3-vxlan-30]tunnel 13
[R1-vsi-vm3-vxlan-30]quit
[R1-vsi-vm3]quit
[R1]

4.配置服务实例(AC),指定感兴趣流,绑定VSI

复制代码
[R1]int g1/0.10
[R1-GigabitEthernet1/0.10]vlan-type dot1q vid 10   ---指定感兴趣流
[R1-GigabitEthernet1/0.10]xconnect vsi vm1         ---绑定VSI
[R1-GigabitEthernet1/0.10]quit

[R1]int g1/0.20
[R1-GigabitEthernet1/0.20]vlan-type dot1q vid 20
[R1-GigabitEthernet1/0.20]xconnect vsi vm2
[R1-GigabitEthernet1/0.20]quit

[R1]int g1/0.30
[R1-GigabitEthernet1/0.30]vlan-type dot1q vid 30
[R1-GigabitEthernet1/0.30]xconnect vsi vm3
[R1-GigabitEthernet1/0.30]quit

R2:

复制代码
[R2]int g2/0
[R2-GigabitEthernet2/0]ip address 10.1.24.2 24
[R2-GigabitEthernet2/0]quit

[R2]int lo 0 
[R2-LoopBack0]ip address 10.255.12.2 32
[R2-LoopBack0]quit

[R2]int range g2/0 lo0
[R2-if-range]ospf 1 area 0
[R2-if-range]quit


[R2]int Tunnel 12 mode vxlan
[R2-Tunnel12]source lo0
[R2-Tunnel12]destination 10.255.12.1
[R2-Tunnel12]quit

[R2]int Tunnel 23 mode vxlan
[R2-Tunnel23]source lo0
[R2-Tunnel23]destination 10.255.1.3
[R2-Tunnel23]quit

[R2]l2vpn enable 

[R2]vsi vm1
[R2-vsi-vm1]vxlan 10
[R2-vsi-vm1-vxlan-10]tunnel 12
[R2-vsi-vm1-vxlan-10]tunnel 23
[R2-vsi-vm1-vxlan-10]quit
[R2-vsi-vm1]quit

[R2]vsi vm2
[R2-vsi-vm2]vxlan 20
[R2-vsi-vm2-vxlan-20]tunnel 12
[R2-vsi-vm2-vxlan-20]tunnel 23
[R2-vsi-vm2-vxlan-20]quit
[R2-vsi-vm2]quit

[R2]vsi vm3
[R2-vsi-vm3]vxlan 30
[R2-vsi-vm3-vxlan-30]tunnel 12
[R2-vsi-vm3-vxlan-30]tunnel 23
[R2-vsi-vm3-vxlan-30]quit
[R2-vsi-vm3]quit

[R2]int g1/0.10
[R2-GigabitEthernet1/0.10]vlan-type dot1q vid 10
[R2-GigabitEthernet1/0.10]xconnect vsi vm1
[R2-GigabitEthernet1/0.10]quit

[R2]int g1/0.20
[R2-GigabitEthernet1/0.20]vlan-type dot1q vid 20
[R2-GigabitEthernet1/0.20]xconnect vsi vm2
[R2-GigabitEthernet1/0.20]quit

[R2]int g1/0.30
[R2-GigabitEthernet1/0.30]vlan-type dot1q vid 30
[R2-GigabitEthernet1/0.30]xconnect vsi vm3
[R2-GigabitEthernet1/0.30]quit

R4:

复制代码
[R4]int g1/0
[R4-GigabitEthernet1/0]ip address 10.1.14.4 24
[R4-GigabitEthernet1/0]quit

[R4]int g2/0
[R4-GigabitEthernet2/0]ip add 10.1.24.4 24
[R4-GigabitEthernet2/0]quit

[R4]int g3/0
[R4-GigabitEthernet3/0]ip address 10.1.34.4 24
[R4-GigabitEthernet3/0]quit

[R4]int range g1/0 g2/0 g3/0
[R4-if-range]ospf 1 area 0

R3(集中式网关设备):

1.创建VSI接口,并配置IP(网关)地址

2.将VSI接口关联到VSI实例中

3.NAT配置

复制代码
[R3]int g1/0
[R3-GigabitEthernet1/0]ip address 10.1.34.3 24
[R3-GigabitEthernet1/0]quit

[R3]int g2/0
[R3-GigabitEthernet2/0]ip address 202.101.1.1 30
[R3-GigabitEthernet2/0]quit

[R3]int lo0
[R3-LoopBack0]ip address 10.255.1.3 32
[R3-LoopBack0]quit

[R3]int range g1/0 lo 0
[R3-if-range]ospf 1 area 0
[R3-if-range]quit

###创建VXLAN隧道
[R3]int Tunnel 13 mode vxlan
[R3-Tunnel13]source lo 0
[R3-Tunnel13]destination 10.255.12.1
[R3-Tunnel13]quit

[R3]int Tunnel 23 mode vxlan
[R3-Tunnel23]source lo 0
[R3-Tunnel23]destination 10.255.12.2
[R3-Tunnel23]quit

###开启L2vpn功能
[R3]l2vpn enable 

###创建VSI实例
[R3]vsi vm1
[R3-vsi-vm1]vxlan 10
[R3-vsi-vm1-vxlan-10]tunnel 13
[R3-vsi-vm1-vxlan-10]tunnel 23
[R3-vsi-vm1-vxlan-10]quit
[R3-vsi-vm1]quit

[R3]vsi vm2
[R3-vsi-vm2]vxlan 20
[R3-vsi-vm2-vxlan-20]tunnel 13
[R3-vsi-vm2-vxlan-20]tunnel 23
[R3-vsi-vm2-vxlan-20]quit
[R3-vsi-vm2]quit

[R3]vsi vm3
[R3-vsi-vm3]vxlan 30
[R3-vsi-vm3-vxlan-30]tunnel 13
[R3-vsi-vm3-vxlan-30]tunnel 23
[R3-vsi-vm3-vxlan-30]quit
[R3-vsi-vm3]quit

###创建VSI接口,并配置IP(网关)地址
[R3]int Vsi-interface 10
[R3-Vsi-interface10]ip address 192.168.10.254 24
[R3-Vsi-interface10]quit

[R3]int Vsi-interface 20
[R3-Vsi-interface20]ip address 192.168.20.254 24
[R3-Vsi-interface20]quit

[R3]int Vsi-interface 30
[R3-Vsi-interface30]ip address 192.168.30.254 24
[R3-Vsi-interface30]quit

###将VSI接口关联到VSI实例中
[R3]vsi vm1
[R3-vsi-vm1]gateway Vsi-interface 10
[R3-vsi-vm1]quit

[R3]vsi vm2
[R3-vsi-vm2]gateway Vsi-interface 20
[R3-vsi-vm2]quit

[R3]vsi vm3
[R3-vsi-vm3]gateway Vsi-interface 30
[R3-vsi-vm3]quit

###NAT配置
[R3]access-list basic 2000
[R3-acl-ipv4-basic-2000]rule permit source 192.168.10.0 0.0.0.255
[R3-acl-ipv4-basic-2000]rule permit source 192.168.20.0 0.0.0.255
[R3-acl-ipv4-basic-2000]rule permit source 192.168.30.0 0.0.0.255
[R3-acl-ipv4-basic-2000]quit

[R3]int g2/0
[R3-GigabitEthernet2/0]nat outbound 2000
[R3-GigabitEthernet2/0]quit

[R3]ip route-static 0.0.0.0 0.0.0.0 202.101.1.2

SRV:

复制代码
[SRV]int g1/0
[SRV-GigabitEthernet1/0]ip address 202.101.1.2 30
[SRV-GigabitEthernet1/0]quit

[SRV]int lo 0
[SRV-LoopBack0]ip address 8.8.8.8 32
[SRV-LoopBack0]quit

SW1:

复制代码
[SW1]vlan 10 20 30

[SW1]int HundredGigE 1/0/4
[SW1-HundredGigE1/0/4]port link-mode bridge 
[SW1-HundredGigE1/0/4]port link-type trunk 
[SW1-HundredGigE1/0/4]port trunk permit vlan 10 20 30
[SW1-HundredGigE1/0/4]quit

[SW1]int HundredGigE 1/0/1
[SW1-HundredGigE1/0/1]port link-mode bridge 
[SW1-HundredGigE1/0/1]port link-type access 
[SW1-HundredGigE1/0/1]port access vlan 10
[SW1-HundredGigE1/0/1]quit

[SW1]int HundredGigE 1/0/2
[SW1-HundredGigE1/0/2]port link-mode bridge 
[SW1-HundredGigE1/0/2]port link-type access 
[SW1-HundredGigE1/0/2]port access vlan 20
[SW1-HundredGigE1/0/2]quit

[SW1]int HundredGigE 1/0/3
[SW1-HundredGigE1/0/3]port link-mode bridge 
[SW1-HundredGigE1/0/3]port link-type access 
[SW1-HundredGigE1/0/3]port access vlan 30
[SW1-HundredGigE1/0/3]quit

SW2:

复制代码
[SW2]vlan 10 20 30

[SW2]int HundredGigE1/0/5
[SW2-HundredGigE1/0/5]port link-mode bridge 
[SW2-HundredGigE1/0/5]port link-type trunk 
[SW2-HundredGigE1/0/5]port trunk permit vlan 10 20 30
[SW2-HundredGigE1/0/5]quit

[SW2]int HundredGigE1/0/1
[SW2-HundredGigE1/0/1]port link-mode bridge 
[SW2-HundredGigE1/0/1]port link-type access 
[SW2-HundredGigE1/0/1]port access vlan 10
[SW2-HundredGigE1/0/1]quit

[SW2]int HundredGigE1/0/2
[SW2-HundredGigE1/0/2]port link-mode bridge 
[SW2-HundredGigE1/0/2]port link-type access 
[SW2-HundredGigE1/0/2]port access vlan 20
[SW2-HundredGigE1/0/2]quit

[SW2]int HundredGigE1/0/3
[SW2-HundredGigE1/0/3]port link-mode bridge 
[SW2-HundredGigE1/0/3]port link-type access 
[SW2-HundredGigE1/0/3]port access vlan 30
[SW2-HundredGigE1/0/3]quit

[SW2]int HundredGigE1/0/4
[SW2-HundredGigE1/0/4]port link-mode bridge 
[SW2-HundredGigE1/0/4]port link-type access 
[SW2-HundredGigE1/0/4]port access vlan 30
[SW2-HundredGigE1/0/4]quit

PC(用思科路由器模拟):

复制代码
PC1(config)#no ip routing
PC1(config)#ip default-gateway 192.168.10.254     
PC1(config)#int e0/0
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#no shutdown

PC2(config)#no ip routing
PC2(config)#ip default-gateway 192.168.20.254
PC2(config)#int e0/0
PC2(config-if)#ip address 192.168.20.1 255.255.255.0
PC2(config-if)#no shudown

PC3(config)#no ip routing
PC3(config)#ip default-gateway 192.168.30.254
PC3(config)#int e0/0
PC3(config-if)#ip address 192.168.30.1 255.255.255.0
PC3(config-if)#no shutdown 

PC4-PC7上的配置与上述一致,仅IP地址和默认网关有变,略 

测试

通过ping测试发现PC1可以实现上网,并且PC间跨VXLAN设备之间可以实现通信,实验成功!

抓包:

这里抓R3的g1/0接口,使用PC1 ping PC4实现跨VXLAN通信时抓包如下图所示:

分析PC1去访问PC2的具体通信流程:

通过抓包我们可以发现,当PC1访问PC2时明明PC1只发送了5个ICMP包,那么为什么R3的g1/0链路上会抓到20个ICMP包呢,下面我们来具体分析一下,

由于R3是该VXLAN网络中的集中式网关设备,因此所有跨 VXLAN Segment(虚拟扩展局域网段)的三层转发都由核心层的集中式网关处理,下面我们来一起具体分析一下PC1去访问PC2的整个通信过程。

已知:

PC1 属于 VNI 10(网段 192.168.10.0/24);

PC2 属于 VNI 20(网段 192.168.20.0/24);

R1是 L2 网关(同时作为 VTEP,处理 VXLAN 封装 / 解封装)

R2 是 L2 网关(同时作为 VTEP,处理 VXLAN 封装 / 解封装)

R3 是集中式 L3 网关(处理跨 VNI 的三层转发)。

第一步:PC1 发数据到 L2 网关(R1)

PC1(192.168.10.1)要访问 PC2(192.168.20.1),先将原始数据(二层以太网帧,目的 IP 192.168.20.1)发给本地 L2 网关 R1

第二步:L2 网关封装并转发到 L3 网关(R3)

R1 识别到目标 IP(192.168.20.1)属于其他 VNI(VNI 20),于是对原始数据进行VXLAN封装(包含源 VNI 10、对端 L3 网关 R3 的 IP 等信息);

然后通过 VXLAN 隧道(Tunnel13,R1 到 R3 的VXLAN隧道),将封装后的报文转发到 R3(L3 网关)。

第三步:L3 网关解封装并转发到目标 L2 网关(R1)

R3 收到 VXLAN 报文后:

  1. 解封装 VXLAN 头部 :还原出原始三层 IP 报文,目的 IP 为 192.168.20.1(PC2 的 IP)。
  2. 查询路由表
    • 从路由表中找到 192.168.20.0/24 网段的路由条目,且出接口是 vsi20(对应 VNI 20 的虚拟接口)。
    • 这一步确保 R3 知道 "192.168.20.0/24 网段属于本地可转发的 VNI 20 域"。
  3. 查询 ARP 表
    • 找到 192.168.20.1 对应的条目:MAC address: aabb-cc00-9000Interface/Link ID: Tunnel13(R3 到 R1 的VXLAN隧道)。
    • 这一步明确 "要发往 PC2(192.168.20.1),需要通过 Tunnel13 隧道转发"。
  4. 重新封装报文
    • 将原始 IP 报文封装成二层以太网帧 (源 MAC 为 R3 的 MAC,目的 MAC 为 aabb-cc00-9000)。
    • 再给该以太网帧添加 VXLAN 头部 (指定 VNI 为 20),通过 Tunnel13 隧道转发给 R1。
第四步:目标 L2 网关解封装并转发到 PC2

R1 收到 L3 网关转发的 IP 报文后:

识别到目标 IP 是本地 VNI 20 内的 PC2;

去掉 VXLAN 封装(因为现在要发给本地 VNI 内的终端),将原始数据转发给 PC2(192.168.20.1)。

回包过程(PC2 到 PC1)

PC2 回包时,流程相反:

PC2 发数据到 R1(L2 网关);

R1 封装成 VXLAN 报文,通过隧道发给 R3(L3 网关);

R3 解封装后,根据自身路由表以及ARP表,将数据包转发给 R1;

R1 解封装后发给 PC1。

关于PC1 发 5 个请求,却在 R3 的 g1/0 抓到 20 个 ICMP 包,其具体原因如下:
  1. 去程流量(PC1→PC2)

    • PC1 发 5 个 ICMP 请求 → R1 封装成 VXLAN 报文 → 通过 Tunnel13 发给 R3。
    • R3 解封装后,重新封装成 VXLAN 报文 → 通过 Tunnel13 发给 R1。
    • 这部分在 R3 的 g1/0 会抓到 5 个 "R1→R3" 的请求封装包 + 5 个 "R3→R1" 的转发封装包(共 10 个)。
  2. 回程流量(PC2→PC1)

    • PC2 发 5 个 ICMP 响应 → R1 封装成 VXLAN 报文 → 通过 Tunnel13 发给 R3。
    • R3 解封装后,重新封装成 VXLAN 报文 → 通过 Tunnel13 发给 R1。
    • 这部分在 R3 的 g1/0 会抓到 5 个 "R1→R3" 的响应封装包 + 5 个 "R3→R1" 的转发封装包(共 10 个)。
  3. 总计:去程 10 个 + 回程 10 个 = 20 个 ICMP 相关包,导致R3设备链路处理数据包资源的压力较大。

进一步体现了VXLAN集中式网关的弊端:

①产生了次优路径:

按正常二层逻辑:PC1(VNI 10)和 PC2(VNI 20)均直接接入同一 L2 网关 VTEP1,理论上跨 VNI 通信可在 VTEP1 本地完成三层转发(若采用分布式网关,让 VTEP1 具备 L3 网关能力);但在集中式架构下,流量却必须 "绕路" 到核心层的 VTEP3,形成次优路径:

理想最优路径:PC1 → R1(本地 L3 转发)→ PC2(无需经过 R3,转发距离最短、延迟最低);

实际次优路径:PC1 → R1 → 隧道 13 → R3(解封装 + 路由查询 + 重新封装)→ VXLAN隧道 13 → R1 → PC2(流量在 R1 与 R3 之间往返,多走 "冤枉路")。

②集中式网关容易成为性能瓶颈

当网络中跨 VNI 通信的流量较大时,集中式网关容易成为性能瓶颈,因为它需要处理大量的数据包解封装、路由查询、重新封装等操作,可能导致转发延迟增加,甚至出现丢包现象,影响网络整体的传输效率。

设备资源消耗高:

集中式网关要维护大量的路由表、ARP 表等信息,尤其是在大规模网络环境中,随着接入终端数量的增多,这些表项的规模会急剧扩大,对网关设备的内存、CPU 等资源消耗极大,可能导致设备运行负荷过高,稳定性下降。

④存在单点故障隐患:

一旦集中式网关设备出现故障,整个网络中所有跨 VXLAN Segment 的通信都会中断,造成严重的网络服务不可用问题,缺乏冗余备份机制时,可靠性难以保障。

R3\]display l2vpn mac-address \[R1\]display l2vpn vsi name vm1 verbose **LINK ID表示的是 "到达该 ARP 条目中对应 IP 地址的下一跳出接口或隧道",**通过查R1的mac地址表发现其中记录的PC1和PC2和PC3的MAC地址信息其对应的LINK ID等于0,进一步使用以下命令发现,这个LINK ID 0就对应单臂路由子接口 ![](https://i-blog.csdnimg.cn/direct/4e862082cf2c4fc1bf37ac065044562f.png) ![](https://i-blog.csdnimg.cn/direct/afd3ee6039124bbfa5b028cc00fd8dca.png) #### 查看Tunnel信息 ![](https://i-blog.csdnimg.cn/direct/9c59ed9959724ff1896de9141a03bc43.png) ### 配置文档 R1: sysname R1 # ospf 1 area 0.0.0.0 # l2vpn enable # vsi vm1 vxlan 10 tunnel 12 tunnel 13 # vsi vm2 vxlan 20 tunnel 12 tunnel 13 # vsi vm3 vxlan 30 tunnel 12 tunnel 13 # interface LoopBack0 ip address 10.255.12.1 255.255.255.255 ospf 1 area 0.0.0.0 # interface GigabitEthernet1/0 port link-mode route # interface GigabitEthernet1/0.10 vlan-type dot1q vid 10 xconnect vsi vm1 # interface GigabitEthernet1/0.20 vlan-type dot1q vid 20 xconnect vsi vm2 # interface GigabitEthernet1/0.30 vlan-type dot1q vid 30 xconnect vsi vm3 # interface GigabitEthernet2/0 port link-mode route ip address 10.1.14.1 255.255.255.0 ospf 1 area 0.0.0.0 # interface Tunnel12 mode vxlan source LoopBack0 destination 10.255.12.2 # interface Tunnel13 mode vxlan source LoopBack0 destination 10.255.1.3 # R2: sysname R2 # l2vpn enable # vsi vm1 vxlan 10 tunnel 12 tunnel 23 # vsi vm2 vxlan 20 tunnel 12 tunnel 23 # vsi vm3 vxlan 30 tunnel 12 tunnel 23 # interface LoopBack0 ip address 10.255.12.2 255.255.255.255 ospf 1 area 0.0.0.0 # interface GigabitEthernet1/0 port link-mode route # interface GigabitEthernet1/0.10 vlan-type dot1q vid 10 xconnect vsi vm1 # interface GigabitEthernet1/0.20 vlan-type dot1q vid 20 xconnect vsi vm2 # interface GigabitEthernet1/0.30 vlan-type dot1q vid 30 xconnect vsi vm3 # interface GigabitEthernet2/0 port link-mode route ip address 10.1.24.2 255.255.255.0 ospf 1 area 0.0.0.0 # interface Tunnel12 mode vxlan source LoopBack0 destination 10.255.12.1 # interface Tunnel23 mode vxlan source LoopBack0 destination 10.255.1.3 R3: sysname R3 # l2vpn enable # vsi vm1 gateway vsi-interface 10 vxlan 10 tunnel 13 tunnel 23 # vsi vm2 gateway vsi-interface 20 vxlan 20 tunnel 13 tunnel 23 # vsi vm3 gateway vsi-interface 30 vxlan 30 tunnel 13 tunnel 23 # interface LoopBack0 ip address 10.255.1.3 255.255.255.255 ospf 1 area 0.0.0.0 # interface GigabitEthernet1/0 port link-mode route ip address 10.1.34.3 255.255.255.0 ospf 1 area 0.0.0.0 # interface GigabitEthernet2/0 port link-mode route ip address 202.101.1.1 255.255.255.252 nat outbound 2000 # interface Vsi-interface10 ip address 192.168.10.254 255.255.255.0 # interface Vsi-interface20 ip address 192.168.20.254 255.255.255.0 # interface Vsi-interface30 ip address 192.168.30.254 255.255.255.0 # interface Tunnel13 mode vxlan source LoopBack0 destination 10.255.12.1 # interface Tunnel23 mode vxlan source LoopBack0 destination 10.255.12.2 # ip route-static 0.0.0.0 0 202.101.1.2 # acl basic 2000 rule 0 permit source 192.168.10.0 0.0.0.255 rule 5 permit source 192.168.20.0 0.0.0.255 rule 10 permit source 192.168.30.0 0.0.0.255 R4: sysname R4 # interface GigabitEthernet1/0 port link-mode route ip address 10.1.14.4 255.255.255.0 ospf 1 area 0.0.0.0 # interface GigabitEthernet2/0 port link-mode route ip address 10.1.24.4 255.255.255.0 ospf 1 area 0.0.0.0 # interface GigabitEthernet3/0 port link-mode route ip address 10.1.34.4 255.255.255.0 ospf 1 area 0.0.0.0 SW1: sysname SW1 # vlan 10 # vlan 20 # vlan 30 # interface HundredGigE1/0/1 port link-mode bridge port access vlan 10 # interface HundredGigE1/0/2 port link-mode bridge port access vlan 20 # interface HundredGigE1/0/3 port link-mode bridge port access vlan 30 # interface HundredGigE1/0/4 port link-mode bridge port link-type trunk port trunk permit vlan 1 10 20 30 SW2: sysname SW2 # vlan 10 # vlan 20 # vlan 30 # interface HundredGigE1/0/1 port link-mode bridge port access vlan 10 # interface HundredGigE1/0/2 port link-mode bridge port access vlan 20 # interface HundredGigE1/0/3 port link-mode bridge port access vlan 30 # interface HundredGigE1/0/4 port link-mode bridge port access vlan 30 # interface HundredGigE1/0/5 port link-mode bridge port link-type trunk port trunk permit vlan 1 10 20 30

相关推荐
AOwhisky20 分钟前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
小龙在慢慢变强..1 小时前
目录结构(FHS 标准)
linux·运维·服务器
刘延林.1 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
星恒讯工业路由器1 小时前
星恒讯工业生产自动化解决方案
运维·物联网·自动化·智能路由器·信息与通信
Diros1g1 小时前
如何通过普通网线给另一个设备供网
网络·网络协议
a8a3021 小时前
Laravel9.x新特性全解析
运维·spring boot·nginx
beyond阿亮2 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络
(Charon)2 小时前
【C++/Qt】Qt 封装 TCP 客户端底层 Network 类:连接、收发、自动测试与错误处理
服务器·网络·qt·tcp/ip
KKKlucifer2 小时前
日志审计与行为分析在安全服务中的应用实践
网络·人工智能·安全
Agent产品评测局2 小时前
生产排期与MES/ERP系统打通,实操方法详解:2026企业级智能体与超自动化集成实战指南
运维·人工智能·ai·chatgpt·自动化