• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

19-VXLAN配置指导

目录

02-VXLAN IP网关配置

本章节下载 02-VXLAN IP网关配置  (695.79 KB)

02-VXLAN IP网关配置


1 VXLAN IP网关

1.1  VXLAN IP网关简介

VXLAN可以为分散的物理站点提供二层互联。如果要为VXLAN站点内的虚拟机提供三层业务,则需要在网络中部署VXLAN IP网关,以便站点内的虚拟机通过VXLAN IP网关与外界网络或其他VXLAN网络内的虚拟机进行三层通信。VXLAN IP网关既可以部署在独立的物理设备上,也可以部署在VTEP设备上。VXLAN IP网关部署在VTEP设备上时,又分为集中式VXLAN IP网关和分布式VXLAN IP网关两种方式。

1.1.1  独立的VXLAN IP网关

图1-1所示,VXLAN IP网关部署在独立的物理设备上时,VXLAN IP网关作为物理站点接入VTEP,VXLAN业务对于网关设备透明。虚拟机通过VXLAN IP网关与三层网络中的节点通信时,虚拟机将三层报文封装成二层数据帧发送给VXLAN IP网关。VTEP对该数据帧进行VXLAN封装,并在IP核心网络上将其转发给远端VTEP(连接VXLAN IP网关的VTEP)。远端VTEP对VXLAN报文进行解封装,并将原始的二层数据帧转发给VXLAN IP网关。VXLAN IP网关去掉链路层封装后,对报文进行三层转发。

图1-1 独立的VXLAN IP网关示意图

 

1.1.2  集中式VXLAN IP网关

图1-2所示,集中式VXLAN IP网关进行二层VXLAN业务终结的同时,还对内层封装的IP报文进行三层转发处理。与独立的VXLAN IP网关相比,该方式除了能够节省设备资源外,VXLAN IP网关功能由VXLAN对应的三层虚接口(VSI虚接口)承担,三层业务的部署和控制也更加灵活和方便。

图1-2 集中式VXLAN IP网关示意图

 

图1-3所示,以地址为10.1.1.11的虚拟机为例,虚拟机与外界网络进行三层通信的过程为:

(1)     虚拟机(10.1.1.11)跨网段进行三层通信时,先广播发送ARP请求消息,解析VXLAN IP网关(10.1.1.1)的MAC地址。

(2)     VTEP 1收到ARP请求消息后,添加VXLAN封装并发送给所有的远端VTEP。

(3)     VTEP 3解封装VXLAN报文后,发现ARP请求的目的IP为VXLAN对应的本地网关IP地址,即与VXLAN关联的VSI虚接口的IP地址,则学习10.1.1.11的ARP信息,并向虚拟机回应ARP应答消息。

(4)     VTEP 1收到ARP应答消息后,将该消息转发给虚拟机。

(5)     虚拟机获取到网关的MAC地址后,为三层报文添加网关的MAC地址,通过VXLAN网络将二层数据帧发送给VTEP 3。

(6)     VTEP 3解封装VXLAN报文,并去掉链路层头后,对内层封装的IP报文进行三层转发,将其发送给最终的目的节点。

(7)     目的节点回复的报文到达网关后,网关根据已经学习到的ARP表项,为报文封装链路层头,并通过VXLAN网络将其发送给虚拟机。

图1-3 集中式VXLAN IP网关的三层通信过程

 

属于不同VXLAN网络的虚拟机之间的通信过程与上述过程类似,不同之处在于一个VXLAN网络的集中式网关需要将报文转发给另一个VXLAN网络的集中式网关,再由该集中式网关将报文转发给本VXLAN内对应的虚拟机。

1.1.3  分布式VXLAN IP网关

1. 简介

采用集中式VXLAN IP网关方案时,不同VXLAN之间的流量以及VXLAN访问外界网络的流量全部由集中式VXLAN IP网关处理,网关压力较大,并加剧了网络带宽资源的消耗。如图1-4所示,在分布式VXLAN IP网关方案中,每台VTEP设备都可以作为VXLAN IP网关,对本地站点的流量进行三层转发,很好地缓解了网关的压力。

图1-4 分布式VXLAN IP网关示意图

 

图1-5所示,在分布式VXLAN IP网关组网中,所有的分布式VXLAN IP网关(GW)上都需要创建VSI虚接口,并为不同GW上的相同VSI虚接口配置相同的IP地址,作为VXLAN内虚拟机的网关地址。边界网关(Border)上也需要创建VSI虚接口,并配置IP地址。在分布式VXLAN IP网关上还需要开启以下功能中的一种:

·     ARP/ND泛洪抑制功能:开启本功能后,二层流量查找MAC地址表进行转发,三层流量查找ARP/ND表项进行转发。

·     本地代理ARP功能或本地ND代理功能:开启本功能后,所有流量都通过查找ARP表项或ND表项进行三层转发。下文均以此功能为例,介绍分布式VXLAN IP网关中的通信过程。

网关可以通过多种方式生成ARP表项和ND表项,下文以根据ARP协议和ND协议动态学习表项来介绍分布式VXLAN IP网关中的通信过程。

图1-5 分布式VXLAN IP网关部署示意图

 

2. 相同VXLAN内不同站点的虚拟机通信过程

图1-5所示,以VM 1访问VM 4为例,相同VXLAN内不同站点的虚拟机的通信过程为:

(1)     VM 1广播发送ARP请求消息,获取VM 4的MAC地址。

(2)     GW 1收到ARP请求消息后,学习VM 1的ARP信息,并代理应答该ARP请求,即:向VM 1发送ARP应答消息,应答的MAC地址为VSI虚接口10的MAC地址。

(3)     VM 1学习到VM 4的MAC地址为GW 1上VSI虚接口10的MAC地址。

(4)     GW 1将接收到的ARP请求消息中的源MAC地址修改为VSI虚接口10的MAC地址,对该消息进行VXLAN封装后,将其发送给VXLAN内的所有远端VTEP。

(5)     GW 2对VXLAN报文进行解封装后,学习VM 1的ARP信息(IP为10.1.1.11、MAC为GW 1上VSI虚接口10的MAC、出接口为接收该VXLAN报文的Tunnel接口),并将ARP请求消息中的源MAC修改为本地VSI虚接口10的MAC地址,在VXLAN 10的本地站点内进行广播。

(6)     VM 4收到ARP请求后,学习VM 1的ARP信息(IP为10.1.1.11、MAC为GW 2上VSI虚接口10的MAC),并发送ARP应答消息给本地网关GW 2。

(7)     GW 2从VM 4收到ARP应答消息后,学习VM 4的ARP信息,将ARP应答消息中的源MAC修改为本地VSI虚接口10的MAC地址,并根据已经学习到的ARP表项,为ARP应答消息添加VXLAN封装后发送给GW 1。

(8)     GW 1对VXLAN报文进行解封装后,根据收到的ARP应答消息学习VM 4的ARP信息(IP为10.1.1.12、MAC为GW 2上VSI虚接口10的MAC、出接口为接收该VXLAN报文的Tunnel接口)。

(9)     通过上述步骤完成ARP信息的学习后,VM 1发送给VM 4的报文,根据已经学习到的ARP信息进行转发:首先发送给GW 1;GW 1对其进行VXLAN封装后,将其发送给GW 2;GW 2解封装后,将其发送给VM 4。

3. 不同VXLAN间不同站点的虚拟机通信过程

图1-5所示,以VM 1访问VM 5为例,不同VXLAN的虚拟机的通信过程为:

(1)     VM 1广播发送ARP请求消息,获取网关10.1.1.1的MAC地址。

(2)     GW 1收到ARP请求消息后,学习VM 1的ARP信息,并向VM 1发送ARP应答消息,应答的MAC地址为VSI虚接口10的MAC地址。

(3)     VM 1将访问VM 5的报文发送给GW 1。

(4)     GW 1在所有VXLAN内向本地站点和远端站点广播发送ARP请求,获取VM 5的MAC地址。ARP请求消息中的源IP地址为20.1.1.1、源MAC地址为本地VSI虚接口20的MAC地址。

(5)     GW 2从VXLAN隧道上接收到VXLAN报文,对其进行解封装后,学习GW 1的ARP信息(IP为20.1.1.1、MAC为GW 1上VSI虚接口20的MAC、出接口为接收该VXLAN报文的Tunnel接口),并将ARP请求消息中的源MAC修改为本地VSI虚接口20的MAC地址,在VXLAN 20的本地站点内广播该ARP请求消息。

(6)     VM 5收到ARP请求后,学习GW 2的ARP信息(IP为20.1.1.1、MAC为GW 2上VSI虚接口20的MAC),并发送ARP应答消息给本地网关GW 2。

(7)     GW 2从VM 5收到ARP应答消息后,学习VM 5的ARP信息,将ARP应答消息中的源MAC修改为本地VSI虚接口20的MAC地址,并根据已经学习到的ARP表项,为ARP应答消息添加VXLAN封装后发送给GW 1。

(8)     GW 1对VXLAN报文进行解封装后,根据收到的ARP应答消息学习VM 5的ARP信息(IP为20.1.1.12、MAC为GW 2上VSI虚接口20的MAC、出接口为接收该VXLAN报文的Tunnel接口)。

(9)     通过上述步骤完成ARP信息的学习后,VM 1发送给VM 5的报文,根据已经学习到的ARP信息进行转发:首先发送给GW 1;GW 1对其进行VXLAN封装后,将其发送给GW 2;GW 2解封装后,将其发送给VM 5。

4. 虚拟机与外部网络的三层通信过程

虚拟机要想与外部网络进行三层通信,需要在接入虚拟机的本地分布式VXLAN IP网关上指定流量的下一跳为Border,可以通过在本地分布式VXLAN IP网关上配置静态路由来实现,指定路由下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。

图1-5所示,以VM 1访问外部网络内的主机50.1.1.1为例,虚拟机访问外部网络的三层通信过程为:

(1)     VM 1广播发送ARP请求消息,获取网关10.1.1.1的MAC地址。

(2)     GW 1收到ARP请求消息后,学习VM 1的ARP信息,并向VM 1发送ARP应答消息,应答的MAC地址为VSI虚接口10的MAC地址。

(3)     VM 1将访问外部网络的报文发送给GW 1。

(4)     GW 1接收到报文后,判断报文的下一跳地址为10.1.1.2。GW 1在VXLAN 10内向本地站点和远端站点广播发送ARP请求消息,获取10.1.1.2对应的MAC地址。

(5)     Border对VXLAN报文进行解封装,学习GW 1的ARP信息,并通过VXLAN隧道回复ARP应答消息。

(6)     GW 1对VXLAN报文进行解封装,并获取到10.1.1.2的ARP信息。

(7)     GW 1根据获取到的信息为VM 1发送的报文封装链路层地址(10.1.1.2对应的MAC地址),并通过VXLAN隧道将报文发送给Border。

(8)     Border对接收到的报文进行解封装后,对报文进行三层转发。

1.2  VXLAN IP网关配置限制和指导

VXLAN IP网关功能受设备的工作模式限制,在使用VXLAN IP网关功能前,请执行display switch-mode status命令,确保设备当前工作在VXLAN模式下。如果设备未工作在VXLAN模式下,请在系统视图下使用switch-mode 1命令配置设备工作在VXLAN模式,保存设备当前配置,然后重启设备。有关设备工作模式的详细介绍请参见“设备管理配置指导”中的“设备基本配置”。

1.3  VXLAN IP网关配置任务简介

VXLAN IP网关配置任务如下:

(1)     配置VXLAN IP网关

请根据实际组网,选择以下一项任务进行配置:

¡     配置集中式VXLAN IP网关

¡     配置分布式VXLAN IP网关

(2)     (可选)管理ARP表项/ND表项

(3)     (可选)配置VSI虚接口

(4)     (可选)开启VXLAN支持M-LAG功能

1.4  VXLAN IP网关配置准备

配置集中式VXLAN IP网关和分布式VXLAN IP网关设备前,需要完成以下配置任务:

·     创建VSI和VXLAN。

·     配置VXLAN隧道,并将VXLAN与VXLAN隧道关联。

上述配置的详细介绍,请参见“VXLAN配置指导”中的“配置VXLAN”。

1.5  配置集中式VXLAN IP网关

1.5.1  配置限制和指导

在集中式VXLAN IP网关组网中,请不要执行local-proxy-arp enable命令开启本地代理ARP功能。

1.5.2  配置集中式网关的网关接口

(1)     进入系统视图。

system-view

(2)     创建VSI虚接口,并进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(3)     配置VSI虚接口的IP地址。

ip address ip-address { mask | mask-length }

缺省情况下,未配置VSI虚接口的IP地址。

(4)     退回系统视图。

quit

(5)     进入VXLAN所在VSI视图。

vsi vsi-name

(6)     为VSI指定网关接口。

gateway vsi-interface vsi-interface-id

缺省情况下,未指定VSI的网关接口。

1.5.3  配置VSI所属的子网网段

1. 功能简介

为了节省分布式VXLAN IP网关设备上的三层接口资源,在网关设备上多个VXLAN可以共用一个VSI虚接口,为VSI虚接口配置一个主IPv4地址和多个从IPv4地址,分别作为不同VXLAN内虚拟机的网关地址。

多个VXLAN共用一个VSI虚接口时,网关设备无法判断从VSI虚接口接收到的报文属于哪个VXLAN。为了解决该问题,需要在VSI视图下通过本命令指定VSI所属的子网网段,通过子网网段判断报文所属的VSI,并在该VSI内转发报文,从而限制广播报文范围,有效地节省带宽资源。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VXLAN所在VSI视图。

vsi vsi-name

(3)     配置当前VSI所属的子网网段。

gateway subnet ipv4-address wildcard-mask

缺省情况下,未指定VSI所属的子网网段。

1.6  配置分布式VXLAN IP网关

1.6.1  配置限制和指导

如果虚拟机要想与外部网络进行三层通信,除本配置外,还需要在接入虚拟机的本地分布式VXLAN IP网关上配置静态路由,指定静态路由的下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。

在分布式VXLAN IP网关设备上,如果开启了ARP泛洪抑制功能,并在VSI虚接口上开启了本地代理ARP功能,则只有本地代理ARP功能生效。建议不要在分布式VXLAN IP网关设备上同时开启这两个功能。有关ARP泛洪抑制功能的详细介绍请参见“VXLAN配置指导”中的“VXLAN概述”。

分布式VXLAN IP网关连接IPv4站点网络时,所有网关上都需要为相同VSI虚接口配置相同的MAC地址。如果网关同时连接IPv4站点网络和IPv6站点网络,则不同分布式VXLAN IP网关上需要为相同VSI虚接口配置不同的链路本地地址。

1.6.2  配置分布式网关的网关接口

(1)     进入系统视图。

system-view

(2)     创建VSI虚接口,并进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(3)     配置VSI虚接口的IP地址。

(IPv4网络)

ip address ip-address { mask | mask-length } [ sub ]

(IPv6网络)

IPv6地址的配置方法,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。

缺省情况下,未配置VSI虚接口的IP地址。

(4)     配置VSI虚接口为分布式网关接口。

distributed-gateway local

缺省情况下,VSI虚接口不是分布式本地网关接口。

(5)     开启本地代理ARP或本地ND代理功能。

(IPv4网络)

local-proxy-arp enable [ ip-range startIP to endIP ]

缺省情况下,本地代理ARP功能处于关闭状态。

本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“代理ARP”。

(IPv6网络)

local-proxy-nd enable

缺省情况下,本地ND代理功能处于关闭状态。

本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IPv6邻居发现”。

(6)     开启VSI虚接口。

undo shutdown

缺省情况下,VSI虚接口处于开启状态。

(7)     退回系统视图。

quit

(8)     进入VXLAN所在VSI视图。

vsi vsi-name

(9)     为VSI指定网关接口。

gateway vsi-interface vsi-interface-id

缺省情况下,未指定VSI的网关接口。

1.6.3  开启分布式网关的动态ARP/ND表项同步功能

1. 功能简介

分布式VXLAN IP网关上开启本地代理ARP/ND功能时,本地网关不会将目标IP地址为分布式网关VSI虚接口的ARP/ND报文转发给其他网关,只有本地网关能够学习到ARP/ND报文发送者的ARP/ND表项。如果希望所有网关都能学习到该ARP/ND表项,需要开启分布式网关的动态ARP/ND表项同步功能。分布式VXLAN IP网关之间也可以通过控制器或EVPN等在彼此之间同步ARP/ND表项,此时无需开启该功能。

2. 开启分布式网关的动态ARP表项同步功能

(1)     进入系统视图。

system-view

(2)     开启分布式网关的动态ARP表项同步功能。

arp distributed-gateway dynamic-entry synchronize

缺省情况下,分布式网关的动态ARP表项同步功能处于关闭状态。

3. 开启分布式网关的动态ND表项同步功能

(1)     进入系统视图。

system-view

(2)     开启分布式网关的动态ND表项同步功能。

ipv6 nd distributed-gateway dynamic-entry synchronize

缺省情况下,分布式网关的动态ND表项同步功能处于关闭状态。

1.6.4  配置VSI所属的子网网段

1. 功能简介

为了节省分布式VXLAN IP网关设备上的三层接口资源,在网关设备上多个VXLAN可以共用一个VSI虚接口,为VSI虚接口配置一个主IPv4地址和多个从IPv4地址、或多个IPv6地址,分别作为不同VXLAN内虚拟机的网关地址。

多个VXLAN共用一个VSI虚接口时,网关设备无法判断从VSI虚接口接收到的报文属于哪个VXLAN。为了解决该问题,需要在VSI视图下通过本命令指定VSI所属的子网网段,通过子网网段判断报文所属的VSI,并在该VSI内转发报文,从而限制广播报文范围,有效地节省带宽资源。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VXLAN所在VSI视图。

vsi vsi-name

(3)     配置当前VSI所属的子网网段。

gateway subnet { ipv4-address wildcard-mask | ipv6-address prefix-length }

缺省情况下,未指定VSI所属的子网网段。

1.7  管理ARP表项/ND表项

1.7.1  静态配置ARP表项

1. 功能简介

VXLAN IP网关既可以动态学习ARP表项,也可以通过本配置静态创建ARP表项。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     静态配置本地ARP表项。

arp static ip-address mac-address vsi-interface vsi-interface-id interface-type interface-number service-instance instance-id vsi vsi-name [ vpn-instance vpn-instance-name ]

本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“ARP”。

(3)     静态配置远端ARP表项。

arp static ip-address mac-address vsi-interface vsi-interface-id tunnel number vsi vsi-name [ vpn-instance vpn-instance-name ]

本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“ARP”。

1.7.2  关闭VXLAN远端ARP/ND自动学习功能

1. 功能简介

缺省情况下,设备从VXLAN隧道接收到报文后可以自动学习远端虚拟机的ARP/ND信息,即远端ARP/ND信息。在SDN控制器组网下,当控制器和设备间进行表项同步时,可以通过本配置暂时关闭远端ARP/ND自动学习功能,以节省占用的设备资源。同步完成后,再开启远端ARP/ND自动学习功能。

2. 配置限制和指导

建议用户只在控制器和设备间同步表项的情况下执行本配置。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     关闭远端ARP自动学习功能。

vxlan tunnel arp-learning disable

缺省情况下,远端ARP自动学习功能处于开启状态。

(3)     关闭远端ND自动学习功能。

vxlan tunnel nd-learning disable

缺省情况下,远端ND自动学习功能处于开启状态。

1.8  配置VSI虚接口

1.8.1  配置VSI虚接口的可选参数

1. 配置限制与指导

有关bandwidthdescription命令的详细介绍,请参见“接口管理命令参考”中的“接口公共命令”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(3)     配置VSI虚接口的MAC地址。

mac-address mac-address

缺省情况下,VSI虚接口的MAC地址为三层以太网接口的缺省MAC地址减3。

(4)     配置接口的描述信息。

description text

缺省情况下,接口的描述信息为“接口名 Interface”,例如:Vsi-interface100 Interface。

(5)     配置接口的期望带宽。

bandwidth bandwidth-value

缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)。

期望带宽供业务模块使用,不会对接口实际带宽造成影响。

(6)     开启VSI虚接口的ARP报文发送限速功能。

arp send-rate pps

缺省情况下,VSI虚接口的ARP报文发送限速功能处于关闭状态。

本功能仅限制VSI虚接口触发的ARP请求报文的发送速率。

1.8.2  恢复VSI虚接口的缺省配置

1. 配置限制和指导

注意

接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。

 

您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。有关default命令的详细介绍,请参见“接口管理命令参考”中的“接口公共命令”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VSI虚接口视图。

interface vsi-interface vsi-interface-id

(3)     恢复接口的缺省配置。

default

1.9  开启VXLAN支持M-LAG功能

1. 功能简介

VXLAN利用M-LAG将两台物理设备连接起来虚拟成一台设备,使用该虚拟设备作为VTEP(既可以是仅用于二层转发的VTEP,也可以是VXLAN IP网关),可以避免VTEP单点故障对网络造成影响,从而提高VXLAN网络的可靠性。

2. 配置限制和指导

在VXLAN支持M-LAG组网中不支持部署二层组播功能。

作为M-LAG设备的两台VTEP必须使用相同的隧道源IP地址与其他VTEP设备建立VXLAN隧道。

配置采用直连模式peer-link链路的VXLAN支持M-LAG时,需要注意:

·     根据用户侧以太网服务实例的报文匹配规则创建peer-link链路上的AC时,用户侧以太网服务实例配置的报文匹配规则只能为匹配报文的外层VLAN tag(encapsulation s-vid { vlan-id | vlan-id-list })、匹配不携带VLAN tag的所有报文(encapsulation untagged),且AC的接入模式必须为VLAN模式。采用VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则,则无此限制。

·     配置相同报文匹配规则的以太网服务实例必须关联相同的VSI。

·     作为M-LAG设备的两台VTEP上,同一M-LAG接口以及单挂AC口上以太网服务实例的匹配规则、关联的VSI对应的VXLAN ID必须一致,且只能采用手工方式创建AC。

请在VXLAN M-LAG系统的两台设备上均创建VLAN 4094,否则peer-link链路无法正常转发流量。

在采用直连模式peer-link链路的VXLAN M-LAG组网中,M-LAG设备配置了设备代答模式ARP泛洪抑制时,如果M-LAG设备收到ARP报文并且通过peer-link链路转发给对端,会转发双份报文。

作为M-LAG设备的VTEP从M-LAG接口学习到本地MAC地址,并通过peer-link链路将MAC地址同步给远端VTEP(另一台M-LAG设备)后,在本端VTEP上手动删除MAC地址表项,远端VTEP(M-LAG设备)上的MAC地址表项不会随之删除,只能等待MAC地址老化时间到达后,才会删除远端VTEP上的表项。

3. 配置准备

配置VXLAN之前,需要完成VXLAN IP网关相关配置。

4. 配置步骤

(1)     配置M-LAG。

M-LAG的配置方法请参见“二层技术-以太网交换配置指导”中的“M-LAG”。

(2)     配置保留接口。

m-lag mad exclude interface interface-type interface-number

缺省情况下,未配置保留接口。

为了避免M-LAG协议将接口置为M-LAG MAD DOWN状态,所有参与VXLAN业务的接口(VSI虚接口、Keepalive链路的接口、VXLAN隧道的公网出接口)配置为保留接口

本命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“M-LAG”。

(3)     配置M-LAG的延迟恢复时间

m-lag restore-delay value

缺省情况下,定时器超时时间为30秒。

在VXLAN支持M-LAG组网中,需要配置延迟恢复时间大于等于180秒。

本命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“M-LAG”。

(4)     (可选)采用直连模式peer-link链路时,配置通过VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则。

l2vpn m-lag peer-link ac-match-rule vxlan-mapping

缺省情况下,采用直连模式peer-link链路时,peer-link链路上动态AC的报文匹配规则与用户侧链路上AC的报文匹配规则相同。

peer-link链路上根据用户侧AC创建AC时,匹配相同外层VLAN Tag的不同以太网服务实例必须关联相同的VSI;采用VXLAN ID映射方式时,VTEP上创建的VXLAN的ID不能大于16000000。

本命令的详细介绍,请参见“EVPN”中的“EVPN命令”。

1.10  VXLAN IP网关显示和维护

1.10.1  显示VSI虚接口信息

可在任意视图下执行以下命令,显示VSI虚接口信息。

display interface [ vsi-interface [ vsi-interface-id ] ] [ brief [ description | down ] ]

1.10.2  清除VSI虚接口统计信息

请在用户视图下执行以下命令,清除VSI虚接口的统计信息。

reset counters interface [ vsi-interface [ vsi-interface-id ] ]

本命令的详细介绍,请参见“接口管理命令参考”中的“接口公共命令”。

1.10.3  显示和维护M-LAG设备上的L2VPN表项信息

1. 显示M-LAG设备上L2VPN的MAC地址表信息

可在任意视图下执行以下命令,显示M-LAG设备上L2VPN的MAC地址表信息。

display l2vpn m-lag mac-address [ local | remote ] [ count | vsi vsi-name [ count | mac-address ] ]

2. 显示M-LAG设备上L2VPN的ARP信息和ARP泛洪抑制表项信息

可在任意视图下执行以下命令:

·     显示M-LAG设备上L2VPN的ARP信息。

display l2vpn m-lag arp [ local | remote ] [ count | { public-instance | vpn-instance vpn-instance-name } [ count | ip-address ] ]

·     显示M-LAG设备上L2VPN的ARP泛洪抑制表项信息。

display l2vpn m-lag arp suppression [ local | remote ] [ count | vsi vsi-name [ count | ip-address ] ]

3. 显示M-LAG设备上L2VPN的ND信息和ND泛洪抑制表项信息

·     显示M-LAG设备上L2VPN的ND信息。

display l2vpn m-lag nd [ local | remote ] [ count | { public-instance | vpn-instance vpn-instance-name } [ ipv6-address | count ] ]

·     显示M-LAG设备上L2VPN的ND泛洪抑制表项信息。

display l2vpn m-lag nd suppression [ local | remote ] [ count | vsi vsi-name [ ipv6-address | count ] ]

1.11  VXLAN IP网关典型配置举例

1.11.1  集中式VXLAN IP网关配置举例

1. 组网需求

Switch A、Switch C为与服务器连接的VTEP设备,Switch B为与广域网连接的集中式VXLAN IP网关设备,Switch E为广域网内的三层交换机。虚拟机VM 1、VM 2同属于VXLAN 10,通过VXLAN实现不同站点间的二层互联,并通过VXLAN IP网关与广域网三层互联。

具体需求为:

·     不同VTEP之间手工建立VXLAN隧道。

·     手工关联VXLAN和VXLAN隧道。

·     通过源MAC地址动态学习远端MAC地址表项。

·     站点之间的泛洪流量采用头端复制的方式转发。

2. 组网图

图1-6 集中式VXLAN IP网关配置组网图

3. 配置步骤

(1)     配置设备工作在VXLAN模式。

# 配置Switch A、Switch B和Switch C工作在VXLAN模式,并重启设备。以Switch A为例,其他设备的配置方法与此相同。

<SwitchA> system-view

[SwitchA] switch-mode 1

Reboot device to make the configuration take effect.

[SwitchA] quit

<SwitchA> reboot

Start to check configuration with next startup configuration file, please wait..

.......DONE!

Current configuration may be lost after the reboot, save current configuration?

[Y/N]:y

This command will reboot the device. Continue? [Y/N]:y

(2)     配置IP地址和单播路由协议

# 在VM 1和VM 2上指定网关地址为10.1.1.1。(具体配置过程略)

# 配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保交换机之间路由可达;配置Switch B和Switch E上发布10.1.1.0/24和20.1.1.0/24网段的路由。(具体配置过程略)

(3)     配置Switch A

# 开启L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道:

¡     创建模式为VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址为Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 在接入服务器的接口Twenty-FiveGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchA] interface twenty-fivegige 1/0/1

[SwitchA-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchA-Twenty-FiveGigE1/0/1] quit

(4)     配置Switch B

# 开启L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之间建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN 10关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] tunnel 3

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

(5)     配置Switch C

# 开启L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1和Tunnel3与VXLAN 10关联。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] tunnel 3

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 在接入服务器的接口Twenty-FiveGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchC] interface twenty-fivegige 1/0/1

[SwitchC-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchC-Twenty-FiveGigE1/0/1] quit

4. 验证配置

(1)     验证VXLAN IP网关设备Switch B

# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchB] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI虚接口信息,可以看到VSI虚接口处于up状态。

[SwitchB] display interface vsi-interface 1

Vsi-interface1

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1444

Internet address: 10.1.1.1/24 (primary)

IP packet frame type: Ethernet II, hardware address: 0011-2200-0102

IPv6 packet frame type: Ethernet II, hardware address: 0011-2200-0102

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

# 查看Switch B上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[SwitchB] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel2              0x5000002  Up     Manual      Disabled

    Tunnel3              0x5000003  Up     Manual      Disabled

# 查看Switch B上VSI的ARP表项信息,可以看到已学习到了虚拟机的ARP信息。

[SwitchB] display arp

  Type: S-Static   D-Dynamic   O-Openflow   R-Rule   I-Invalid

IP address      MAC address    VLAN/VSI name Interface                Aging Type

20.1.1.5        000c-29c1-5e46 --            Vlan20                   19    D

10.1.1.11       0000-1234-0001 vpna          Tunnel2                  20    D

10.1.1.12       0000-1234-0002 vpna          Tunnel3                  19    D

# 查看Switch B上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。

[SwitchB] display fib 10.1.1.11

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

10.1.1.11/32       10.1.1.11       UH       Vsi1                     Null

(2)     验证主机和广域网互访

虚拟机VM 1、VM 2之间可以互访,VM 1、VM 2和Switch E上接口Vlan-interface20的地址20.1.1.5之间可以互访。

1.11.2  分布式VXLAN IP网关连接IPv4网络配置举例

1. 组网需求

Switch A、Switch C为分布式VXLAN IP网关设备,Switch B为与广域网连接的边界网关设备,Switch E为广域网内的三层交换机。虚拟机VM 1属于VXLAN 10,VM 2属于VXLAN 20,VM 3属于VXLAN 30。通过分布式VXLAN IP网关实现不同VXLAN网络的三层互联,并通过边界网关实现与广域网的三层互联。

具体需求为:

·     不同VTEP之间手工建立VXLAN隧道。

·     手工关联VXLAN和VXLAN隧道。

·     站点之间的泛洪流量采用头端复制的方式转发。

·     VM 1、VM 2、VM 3之间可以互访,且VM 1、VM 2和VM 3都可以访问外部网络。

2. 组网图

图1-7 分布式VXLAN IP网关连接IPv4网络配置组网图

3. 配置步骤

(1)     配置设备工作在VXLAN模式。

# 配置Switch A、Switch B和Switch C工作在VXLAN模式,并重启设备。以Switch A为例,其他设备的配置方法与此相同。

<SwitchA> system-view

[SwitchA] switch-mode 1

Reboot device to make the configuration take effect.

[SwitchA] quit

<SwitchA> reboot

Start to check configuration with next startup configuration file, please wait..

.......DONE!

Current configuration may be lost after the reboot, save current configuration?

[Y/N]:y

This command will reboot the device. Continue? [Y/N]:y

(2)     配置IP地址和单播路由协议

# 在VM 1、VM 2和VM 3上分别指定网关地址为10.1.1.1、10.1.2.1、20.1.1.1。(具体配置过程略)

# 配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保交换机之间路由可达;配置Switch B和Switch E发布10.1.1.0/24、10.1.2.0/24、20.1.1.0/24和25.1.1.0/24网段的路由。(具体配置过程略)

(3)     配置Switch A

# 开启L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 创建VSI实例vpnc和VXLAN 30。

[SwitchA] vsi vpnc

[SwitchA-vsi-vpnc] vxlan 30

[SwitchA-vsi-vpnc-vxlan-30] quit

[SwitchA-vsi-vpnc] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道:

¡     创建模式为VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址为Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1和Tunnel2与VXLAN 20关联。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] tunnel 2

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置Tunnel2与VXLAN 30关联。

[SwitchA] vsi vpnc

[SwitchA-vsi-vpnc] vxlan 30

[SwitchA-vsi-vpnc-vxlan-30] tunnel 2

[SwitchA-vsi-vpnc-vxlan-30] quit

[SwitchA-vsi-vpnc] quit

# 在接入VM 1的接口Twenty-FiveGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchA] interface twenty-fivegige 1/0/1

[SwitchA-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchA-Twenty-FiveGigE1/0/1] quit

# 在接入VM 2的接口Twenty-FiveGigE1/0/3上创建以太网服务实例1000,该实例用来匹配VLAN 3的数据帧。

[SwitchA] interface twenty-fivegige 1/0/3

[SwitchA-Twenty-FiveGigE1/0/3] service-instance 1000

[SwitchA-Twenty-FiveGigE1/0/3-srv1000] encapsulation s-vid 3

# 配置以太网服务实例1000与VSI实例vpnb关联。

[SwitchA-Twenty-FiveGigE1/0/3-srv1000] xconnect vsi vpnb

[SwitchA-Twenty-FiveGigE1/0/3-srv1000] quit

[SwitchA-Twenty-FiveGigE1/0/3] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 10内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchA-Vsi-interface1] mac-address 1-1-1

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] local-proxy-arp enable

[SwitchA-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface2,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。

[SwitchA] interface vsi-interface 2

[SwitchA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchA-Vsi-interface2] mac-address 2-2-2

[SwitchA-Vsi-interface2] distributed-gateway local

[SwitchA-Vsi-interface2] local-proxy-arp enable

[SwitchA-Vsi-interface2] quit

# 开启分布式网关的动态ARP表项同步功能。

[SwitchA] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为10.1.1.0/24。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] gateway subnet 10.1.1.0 0.0.0.255

[SwitchA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] gateway vsi-interface 2

[SwitchA-vsi-vpnb] quit

# 为VSI虚接口VSI-interface1配置从IP地址,该从IP地址作为VXLAN 30内虚拟机的网关地址。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip address 20.1.1.1 255.255.255.0 sub

[SwitchA-Vsi-interface1] quit

# 配置VXLAN 30所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为20.1.1.0/24。

[SwitchA] vsi vpnc

[SwitchA-vsi-vpnc] gateway vsi-interface 1

[SwitchA-vsi-vpnc] gateway subnet 20.1.1.0 0.0.0.255

[SwitchA-vsi-vpnc] quit

(4)     配置Switch B

# 开启L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 创建VSI实例vpnc和VXLAN 30。

[SwitchB] vsi vpnc

[SwitchB-vsi-vpnc] vxlan 30

[SwitchB-vsi-vpnc-vxlan-30] quit

[SwitchB-vsi-vpnc] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之间建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2与VXLAN 10关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel2与VXLAN 20关联。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 2

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置Tunnel3与VXLAN 30关联。

[SwitchB] vsi vpnc

[SwitchB-vsi-vpnc] vxlan 30

[SwitchB-vsi-vpnc-vxlan-30] tunnel 3

[SwitchB-vsi-vpnc-vxlan-30] quit

[SwitchB-vsi-vpnc] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.2 255.255.255.0

[SwitchB-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface2,并为其配置IP地址。

[SwitchB] interface vsi-interface 2

[SwitchB-Vsi-interface2] ip address 10.1.2.2 255.255.255.0

[SwitchB-Vsi-interface2] quit

# 创建VSI虚接口VSI-interface3,并为其配置IP地址。

[SwitchB] interface vsi-interface 3

[SwitchB-Vsi-interface3] ip address 20.1.1.2 255.255.255.0

[SwitchB-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 2

[SwitchB-vsi-vpnb] quit

# 配置VXLAN 30所在的VSI实例和接口VSI-interface3关联。

[SwitchB] vsi vpnc

[SwitchB-vsi-vpnc] gateway vsi-interface 3

[SwitchB-vsi-vpnc] quit

(5)     配置Switch C

# 开启L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 创建VSI实例vpnc和VXLAN 30。

[SwitchC] vsi vpnc

[SwitchC-vsi-vpnc] vxlan 30

[SwitchC-vsi-vpnc-vxlan-30] quit

[SwitchC-vsi-vpnc] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1与VXLAN 10关联。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置Tunnel1与VXLAN 20关联。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] tunnel 1

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 配置Tunnel1和Tunnel3与VXLAN 30关联。

[SwitchC] vsi vpnc

[SwitchC-vsi-vpnc] vxlan 30

[SwitchC-vsi-vpnc-vxlan-30] tunnel 1

[SwitchC-vsi-vpnc-vxlan-30] tunnel 3

[SwitchC-vsi-vpnc-vxlan-30] quit

[SwitchC-vsi-vpnc] quit

# 在接入VM 3的接口Twenty-FiveGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 4的数据帧。

[SwitchC] interface twenty-fivegige 1/0/1

[SwitchC-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 4

# 配置以太网服务实例1000与VSI实例vpnc关联。

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpnc

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchC-Twenty-FiveGigE1/0/1] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 10内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchC-Vsi-interface1] mac-address 1-1-1

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-arp enable

[SwitchC-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface2,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。

[SwitchC] interface vsi-interface 2

[SwitchC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchC-Vsi-interface2] mac-address 2-2-2

[SwitchC-Vsi-interface2] distributed-gateway local

[SwitchC-Vsi-interface2] local-proxy-arp enable

[SwitchC-Vsi-interface2] quit

# 开启分布式网关的动态ARP表项同步功能。

[SwitchC] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为10.1.1.0/24。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] gateway subnet 10.1.1.0 0.0.0.255

[SwitchC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] gateway vsi-interface 2

[SwitchC-vsi-vpnb] quit

# 为VSI虚接口VSI-interface1配置从IP地址,该从IP地址作为VXLAN 30内虚拟机的网关地址。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 20.1.1.1 255.255.255.0 sub

[SwitchC-Vsi-interface1] quit

# 配置VXLAN 30所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为20.1.1.0/24。

[SwitchC] vsi vpnc

[SwitchC-vsi-vpnc] gateway vsi-interface 1

[SwitchC-vsi-vpnc] gateway subnet 20.1.1.0 0.0.0.255

[SwitchC-vsi-vpnc] quit

4. 验证配置

(1)     验证分布式VXLAN IP网关设备Switch A

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchA] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 3.3.3.3

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch A上的VSI虚接口信息,可以看到VSI虚接口处于up状态。

[SwitchA] display interface vsi-interface 1

Vsi-interface1

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1444

Internet address: 10.1.1.1/24 (primary)

IP packet frame type: Ethernet II, hardware address: 0001-0001-0001

IPv6 packet frame type: Ethernet II, hardware address: 0001-0001-0001

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

# 查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[SwitchA] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

  ACs:

    AC                                                           Link ID    State         Type

    Twenty-FiveGigE1/0/1 srv1000                             0x0        Up            Manual

    Statistics: Disabled

# 查看Switch A上VSI的ARP表项信息,可以看到已学习到了虚拟机的ARP信息。

[SwitchA] display arp

  Type: S-Static   D-Dynamic   O-Openflow   R-Rule   I-Invalid

IP address      MAC address    VLAN/VSI name Interface                Aging Type

11.1.1.4        000c-29c1-5e46 11            Vlan11                   19    D

10.1.1.2        3c8c-400d-867a vpna          Tunnel1                  20    D

10.1.1.11       0cda-41b5-cf09 vpna          WGE1/0/1                 20    D

10.1.2.2        3c8c-400d-867a vpnb          Tunnel1                  20    D

10.1.2.11       0cda-41b5-cf89 vpnb          WGE1/0/3                 20    D

20.1.1.12       0001-0001-0001 vpnc          Tunnel2                  19    D

(2)     验证边界网关设备Switch B

# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchB] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI虚接口信息,可以看到VSI虚接口处于up状态。

[SwitchB] display interface vsi-interface 1

Vsi-interface1

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1444

Internet address: 10.1.1.2/24 (primary)

IP packet frame type: Ethernet II, hardware address: 0011-2200-0102

IPv6 packet frame type: Ethernet II, hardware address: 0011-2200-0102

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

# 查看Switch B上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[SwitchB] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

# 查看Switch B上VSI的ARP表项信息,可以看到已学习到了虚拟机的ARP信息。

[SwitchB] display arp

  Type: S-Static   D-Dynamic   O-Openflow   R-Rule   I-Invalid

IP address      MAC address    VLAN/VSI name Interface                Aging Type

12.1.1.4        0000-fc00-00ab 12            Vlan12                   14    D

25.1.1.5        4431-9234-24bb 20            Vlan20                   17    D

10.1.1.1        0001-0001-0001 vpna          Tunnel2                  17    D

10.1.1.11       0001-0001-0001 vpna          Tunnel2                  20    D

10.1.2.1        0002-0002-0002 vpnb          Tunnel2                  17    D

10.1.2.11       0002-0002-0002 vpnb          Tunnel2                  20    D

20.1.1.1        0001-0001-0001 vpnc          Tunnel3                  17    D

20.1.1.12       0001-0001-0001 vpnc          Tunnel3                  20    D

# 查看Switch B上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。

[SwitchB] display fib 10.1.1.11

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

10.1.1.11/32       10.1.1.11       UH       Vsi1                     Null

[SwitchB] display fib 20.1.1.12

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

20.1.1.12/32       20.1.1.12       UH       Vsi3                     Null

(3)     验证主机和广域网互访

虚拟机VM 1、VM 2、VM 3之间可以互访;VM 1、VM 2和VM 3可以与Switch E上接口Vlan-interface20的地址25.1.1.5之间互访。

1.11.3  分布式VXLAN IP网关连接IPv6网络配置举例

1. 组网需求

Switch A、Switch C为分布式VXLAN IP网关设备,Switch B为与广域网连接的边界网关设备,Switch E为广域网内的三层交换机。虚拟机VM 1属于VXLAN 10,VM 2属于VXLAN 20。通过分布式VXLAN IP网关实现不同VXLAN网络的三层互联,并通过边界网关实现与广域网的三层互联。

具体需求为:

·     不同VTEP之间手工建立VXLAN隧道。

·     手工关联VXLAN和VXLAN隧道。

·     站点之间的泛洪流量采用头端复制的方式转发。

2. 组网图

图1-8 分布式VXLAN IP网关连接IPv6网络配置组网图

3. 配置步骤

(1)     配置设备工作在VXLAN模式。

# 配置Switch A、Switch B和Switch C工作在VXLAN模式,并重启设备。以Switch A为例,其他设备的配置方法与此相同。

<SwitchA> system-view

[SwitchA] switch-mode 1

Reboot device to make the configuration take effect.

[SwitchA] quit

<SwitchA> reboot

Start to check configuration with next startup configuration file, please wait..

.......DONE!

Current configuration may be lost after the reboot, save current configuration?

[Y/N]:y

This command will reboot the device. Continue? [Y/N]:y

(2)     配置IPv6地址和单播路由协议

# 在VM 1和VM 2上分别指定网关地址为1::1、4::1。(具体配置过程略)

# 配置各接口的地址;在IP核心网络内配置OSPF协议,确保交换机之间路由可达;配置Switch B和Switch E发布1::/64、4::/64和3::/64网段的路由。(具体配置过程略)

(3)     配置Switch A

# 开启L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道:

¡     创建模式为VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址为Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2与VXLAN 10关联。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1和Tunnel2与VXLAN 20关联。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] tunnel 2

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 在接入VM 1的接口Twenty-FiveGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchA] interface twenty-fivegige 1/0/1

[SwitchA-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchA-Twenty-FiveGigE1/0/1] quit

# 创建VSI虚接口VSI-interface1,并为其配置IPv6任播地址,其中1::1/64地址作为VXLAN 10内虚拟机的网关地址、4::1/64作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地ND代理功能。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ipv6 address 1::1/64 anycast

[SwitchA-Vsi-interface1] ipv6 address 4::1/64 anycast

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] local-proxy-nd enable

[SwitchA-Vsi-interface1] quit

# 开启分布式网关的动态IPv6 ND表项同步功能。

[SwitchA] ipv6 nd distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为1::1/64。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] gateway subnet 1::1 64

[SwitchA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为4::1/64。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] gateway vsi-interface 1

[SwitchA-vsi-vpnb] gateway subnet 4::1 64

[SwitchA-vsi-vpnb] quit

# 配置静态路由,指定到达网络3::/64网络的路由下一跳为Switch B的IPv6地址1::2。

[SwitchA] ipv6 route-static 3:: 64 1::2

(4)     配置Switch B

# 开启L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之间建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之间建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2和Tunnel3与VXLAN10关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] tunnel 3

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel2和Tunnel3与VXLAN20关联。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 2

[SwitchB-vsi-vpnb-vxlan-20] tunnel 3

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 创建VSI虚接口VSI-interface1,并为其配置IPv6地址。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ipv6 address 1::2/64

[SwitchB-Vsi-interface1] ipv6 address 4::2/64

[SwitchB-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface1关联。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 1

[SwitchB-vsi-vpnb] quit

(5)     配置Switch C

# 开启L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之间建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1和Tunnel3与VXLAN 10关联。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] tunnel 3

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置Tunnel1和Tunnel3与VXLAN 20关联。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] tunnel 1

[SwitchC-vsi-vpnb-vxlan-20] tunnel 3

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 在接入VM 2的接口Twenty-FiveGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 4的数据帧。

[SwitchC] interface twenty-fivegige 1/0/1

[SwitchC-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 4

# 配置以太网服务实例1000与VSI实例vpnb关联。

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpnb

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchC-Twenty-FiveGigE1/0/1] quit

# 创建VSI虚接口VSI-interface1,并为其配置IPv6地址,其中1::1/64地址作为VXLAN 10内虚拟机的网关地址,4::1/64地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地ND代理功能。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ipv6 address 1::1/64 anycast

[SwitchC-Vsi-interface1] ipv6 address 4::1/64 anycast

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-nd enable

[SwitchC-Vsi-interface1] quit

# 开启分布式网关的动态IPv6 ND表项同步功能。

[SwitchC] ipv6 nd distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为1::1/64。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] gateway subnet 1::1 64

[SwitchC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface1关联,并配置该VSI实例的子网网段为4::1/64。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] gateway vsi-interface 1

[SwitchC-vsi-vpnb] gateway subnet 4::1 64

[SwitchC-vsi-vpnb] quit

# 配置静态路由,指定到达网络3::/64网络的路由下一跳为Switch B的IPv6地址4::2。

[SwitchC] ipv6 route-static 3:: 64 4::2

4. 验证配置

(1)     验证分布式VXLAN IP网关设备Switch A

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchA] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 3.3.3.3

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch A上的VSI虚接口信息,可以看到VSI虚接口处于up状态。

[SwitchA] display interface vsi-interface 1

Vsi-interface1

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1444

Internet protocol processing: Disabled

IP packet frame type: Ethernet II, hardware address: 0011-2200-0102

IPv6 packet frame type: Ethernet II, hardware address: 0011-2200-0102

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

# 查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[SwitchA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

  ACs:

    AC                                                           Link ID    State         Type

    Twenty-FiveGigE1/0/1 srv1000                              0x0        Up            Manual

    Statistics: Disabled

 

VSI Name: vpnb

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 20

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

# 查看Switch A上IPv6 neighbors表项信息,可以看到已经建立的邻居信息。

[SwitchA] display ipv6 neighbors all

Type: S-Static    D-Dynamic    O-Openflow     R-Rule    I-Invalid

IPv6 address                   Link layer     VID  Interface      State T  Age

1::2                           3c8c-400d-867a 0    Tunnel1        STALE D  7

1::100                         0001-0000-0047 0    0              STALE D  22

4::400                         0002-0000-0047 1    Tunnel2        REACH D  5

FE80::201:FF:FE00:47           0001-0000-0047 0    Tunnel1        REACH D  30

FE80::202:FF:FE00:0            0002-0000-0000 1    Tunnel1        REACH D  27

FE80::202:FF:FE00:47           0002-0000-0047 0    0              DELAY D  5

# 查看Switch A上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。

[SwitchA] display ipv6 fib 4::400

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 4::400                                         Prefix length: 128

Nexthop    : 4::400                                         Flags: UH

Time stamp : 0x2c                                           Label: Null

Interface  : Tunnel2                                        Token: Invalid

[SwitchA] display ipv6 fib 3::300

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 3::                                            Prefix length: 40

Nexthop    : 1::2                                           Flags: USGR

Time stamp : 0x23                                           Label: Null

Interface  : Tunnel1                                        Token: Invalid

(2)     验证VXLAN IP边界网关设备Switch B

# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchB] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI虚接口信息,可以看到VSI虚接口处于up状态。

[SwitchB] display interface vsi-interface 1

Vsi-interface1

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1444

Internet protocol processing: Disabled

IP packet frame type: Ethernet II, hardware address: 0011-2200-0102

IPv6 packet frame type: Ethernet II, hardware address: 0011-2200-0102

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

# 查看Switch B上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[SwitchB] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

# 查看Switch B上IPv6 neighbors表项信息,可以看到已经建立的邻居信息。

[SwitchB] display ipv6 neighbors all

Type: S-Static    D-Dynamic    O-Openflow     R-Rule    I-Invalid

IPv6 address                   Link layer     VID  Interface      State T  Age

3::300                         0003-0000-0047 20   Vlan20         DELAY D  3

FE80::203:FF:FE00:47           0003-0000-0047 20   Vlan20         STALE D  222

1::100                         0001-0000-0047 0    Tunnel2        STALE D  232

4::400                         0002-0000-0047 1    Tunnel3        REACH D  3

FE80::201:FF:FE00:0            0001-0000-0000 0    Tunnel2        STALE D  237

FE80::201:FF:FE00:47           0001-0000-0047 20   Vlan20         STALE D  222

FE80::202:FF:FE00:0            0002-0000-0000 1    Tunnel3        STALE D  345

# 查看Switch B上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。

[SwitchB] display ipv6 fib 1::100

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 1::100                                         Prefix length: 128

Nexthop    : 1::100                                         Flags: UH

Time stamp : 0x21                                           Label: Null

Interface  : Tunnel2                                        Token: Invalid

[SwitchB] display ipv6 fib 4::400

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 4::                                            Prefix length: 64

Nexthop    : ::                                             Flags: U

Time stamp : 0x19                                           Label: Null

Interface  : Tunnel3                                        Token: Invalid

(3)     验证主机和广域网互访

虚拟机VM 1、VM 2之间可以互访,VM 1、VM 2和Switch E上接口Vlan-interface20的地址3::300之间可以互访。

1.11.4  IPv4 VXLAN支持M-LAG配置举例

1. 组网需求

Switch A、Switch B、Switch C为与服务器连接的分布式VXLAN IP网关,Switch A和Switch B通过M-LAG功能虚拟为一台VXLAN IP网关,采用直连模式peer-link链路。

虚拟机VM 1和VM 2属于VXLAN 10,VM 3属于VXLAN 20,通过分布式VXLAN IP网关实现VM 1、VM 2和VM 3互通。

2. 组网图

图1-9 IPv4 VXLAN支持M-LAG配置组网图

3. 配置步骤

(1)     配置设备工作在VXLAN模式。

# 配置Switch A、Switch B和Switch C工作在VXLAN模式,并重启设备。以Switch A为例,其他设备的配置方法与此相同。

<SwitchA> system-view

[SwitchA] switch-mode 1

Reboot device to make the configuration take effect.

[SwitchA] quit

<SwitchA> reboot

Start to check configuration with next startup configuration file, please wait..

.......DONE!

Current configuration may be lost after the reboot, save current configuration?

[Y/N]:y

This command will reboot the device. Continue? [Y/N]:y

(2)     在Switch A和Switch B上创建VLAN 4094,以保障peer-link链路正常转发流量。

# 创建VLAN 4094。以Switch A为例,Switch B的配置方法相同。

<SwitchA> system-view

[SwitchA] vlan 4094

[SwitchA-vlan4094] quit

(3)     配置IP地址和单播路由协议

# 在VM 1和VM 2上指定网关地址为10.1.1.1;在VM 3上指定网关地址为10.1.2.1。(具体配置过程略)

# 配置各接口的IP地址和子网掩码。(具体配置过程略)

# 在IP核心网络内配置OSPF协议,发布各接口IP地址(包括Loopback接口的IP地址)对应网段的路由,确保交换机之间路由可达。(具体配置过程略)

(4)     配置Switch A

# 开启L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置peer-link链路上动态AC的报文匹配规则,有如下两个方案。Switch A和Switch B上采用的方案必须相同。

¡     方案一:采用VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则。

[SwitchA] l2vpn m-lag peer-link ac-match-rule vxlan-mapping

¡     方案二:根据用户侧以太网服务实例的报文匹配规则创建peer-link链路上的AC。

无需执行其他配置,默认采用该方案。

# 配置M-LAG系统。

[SwitchA] m-lag system-mac 0001-0001-0001

[SwitchA] m-lag system-number 1

[SwitchA] m-lag system-priority 10

[SwitchA] m-lag keepalive ip destination 60.1.1.2 source 60.1.1.1

[SwitchA] m-lag restore-delay 180

# 创建二层聚合接口3,并配置该接口为动态聚合模式。

[SwitchA] interface bridge-aggregation 3

[SwitchA-Bridge-Aggregation3] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation3] quit

# 将端口Twenty-FiveGigE1/0/3加入聚合组3中。

[SwitchA] interface twenty-fivegige 1/0/3

[SwitchA-Twenty-FiveGigE1/0/3] port link-aggregation group 3

[SwitchA-Twenty-FiveGigE1/0/3] quit

# 将二层聚合接口3配置为peer-link接口。

[SwitchA] interface bridge-aggregation 3

[SwitchA-Bridge-Aggregation3] port m-lag peer-link 1

[SwitchA-Bridge-Aggregation3] quit

# 创建二层聚合接口4,并配置该接口为动态聚合模式。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation4] quit

# 将端口Twenty-FiveGigE1/0/1加入聚合组4中。

[SwitchA] interface twenty-fivegige 1/0/1

[SwitchA-Twenty-FiveGigE1/0/1] port link-aggregation group 4

[SwitchA-Twenty-FiveGigE1/0/1] quit

# 创建二层聚合接口5,并配置该接口为动态聚合模式。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation5] quit

# 将端口Twenty-FiveGigE1/0/2加入到聚合组5中。

[SwitchA] interface twenty-fivegige 1/0/2

[SwitchA-Twenty-FiveGigE1/0/2] port link-aggregation group 5

[SwitchA-Twenty-FiveGigE1/0/2] quit

# 创建VSI实例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch C之间建立VXLAN隧道:

¡     创建模式为VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址为Switch C上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 配置Tunnel1和VXLAN10关联。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1和VXLAN20关联。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 在接入服务器的接口Bridge-Aggregation4上创建以太网服务实例1000,该实例用来匹配VLAN 1的数据帧。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] service-instance 1000

[SwitchA-Bridge-Aggregation4-srv1000] encapsulation s-vid 1

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchA-Bridge-Aggregation4-srv1000] xconnect vsi vpna

[SwitchA-Bridge-Aggregation4-srv1000] quit

# 在接入服务器的接口Bridge-Aggregation5上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] service-instance 1000

[SwitchA-Bridge-Aggregation5-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchA-Bridge-Aggregation5-srv1000] xconnect vsi vpna

[SwitchA-Bridge-Aggregation5-srv1000] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 10内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchA-Vsi-interface1] mac-address 1-1-1

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface2,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口。

[SwitchA] interface vsi-interface 2

[SwitchA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchA-Vsi-interface2] mac-address 2-2-2

[SwitchA-Vsi-interface2] distributed-gateway local

[SwitchA-Vsi-interface2] quit

# 开启分布式网关的动态ARP表项同步功能。

[SwitchA] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] gateway vsi-interface 2

[SwitchA-vsi-vpnb] quit

# 将所有参与VXLAN业务的接口配置为保留接口。

[SwitchA] m-lag mad exclude interface loopback 0

[SwitchA] m-lag mad exclude interface twenty-fivegige 1/0/4

[SwitchA] m-lag mad exclude interface vsi-interface 1

[SwitchA] m-lag mad exclude interface vsi-interface 2

[SwitchA] m-lag mad exclude interface vlan-interface 11

(5)     配置Switch B

# 开启L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置peer-link链路上动态AC的报文匹配规则,有如下两个方案。Switch A和Switch B上采用的方案必须相同。

¡     方案一:采用VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则。

[SwitchB] l2vpn m-lag peer-link ac-match-rule vxlan-mapping

¡     方案二:根据用户侧以太网服务实例的报文匹配规则创建peer-link链路上的AC。

无需执行其他配置,默认采用该方案。

# 配置M-LAG系统。

[SwitchB] m-lag system-mac 0001-0001-0001

[SwitchB] m-lag system-number 2

[SwitchB] m-lag system-priority 10

[SwitchB] m-lag keepalive ip destination 60.1.1.1 source 60.1.1.2

[SwitchB] m-lag restore-delay 180

# 创建二层聚合接口3,并配置该接口为动态聚合模式。

[SwitchB] interface bridge-aggregation 3

[SwitchB-Bridge-Aggregation3] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation3] quit

# 将端口Twenty-FiveGigE1/0/3加入聚合组3中。

[SwitchB] interface twenty-fivegige 1/0/3

[SwitchB-Twenty-FiveGigE1/0/3] port link-aggregation group 3

[SwitchB-Twenty-FiveGigE1/0/3] quit

# 将二层聚合接口3配置为peer-link接口。

[SwitchB] interface bridge-aggregation 3

[SwitchB-Bridge-Aggregation3] port m-lag peer-link 1

[SwitchB-Bridge-Aggregation3] quit

# 创建二层聚合接口4,并配置该接口为动态聚合模式。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation4] quit

# 将端口Twenty-FiveGigE1/0/1加入聚合组4中。

[SwitchB] interface twenty-fivegige 1/0/1

[SwitchB-Twenty-FiveGigE1/0/1] port link-aggregation group 4

[SwitchB-Twenty-FiveGigE1/0/1] quit

# 创建二层聚合接口5,并配置该接口为动态聚合模式。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation5] quit

# 将端口Twenty-FiveGigE1/0/2加入聚合组5中。

[SwitchB] interface twenty-fivegige 1/0/2

[SwitchB-Twenty-FiveGigE1/0/2] port link-aggregation group 5

[SwitchB-Twenty-FiveGigE1/0/2] quit

# 创建VSI实例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch B和Switch C之间建立VXLAN隧道:

¡     创建模式为VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址为Switch C上接口Loopback0的地址2.2.2.2。

[SwitchB] interface tunnel 1 mode vxlan

[SwitchB-Tunnel1] source 1.1.1.1

[SwitchB-Tunnel1] destination 2.2.2.2

[SwitchB-Tunnel1] quit

# 配置Tunnel1和VXLAN10关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 1

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel1和VXLAN20关联。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 1

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 在接入服务器的接口Bridge-Aggregation4上创建以太网服务实例1000,该实例用来匹配VLAN 1的数据帧。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] service-instance 1000

[SwitchB-Bridge-Aggregation4-srv1000] encapsulation s-vid 1

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchB-Bridge-Aggregation4-srv1000] xconnect vsi vpna

[SwitchB-Bridge-Aggregation4-srv1000] quit

# 在接入服务器的接口Bridge-Aggregation5上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] service-instance 1000

[SwitchB-Bridge-Aggregation5-srv1000] encapsulation s-vid 2

# 配置以太网服务实例1000与VSI实例vpna关联。

[SwitchB-Bridge-Aggregation5-srv1000] xconnect vsi vpna

[SwitchB-Bridge-Aggregation5-srv1000] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 10内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] mac-address 1-1-1

[SwitchB-Vsi-interface1] distributed-gateway local

[SwitchB-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface2,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口。

[SwitchB] interface vsi-interface 2

[SwitchB-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchB-Vsi-interface2] mac-address 2-2-2

[SwitchB-Vsi-interface2] distributed-gateway local

[SwitchB-Vsi-interface2] quit

# 开启分布式网关的动态ARP表项同步功能。

[SwitchB] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 2

[SwitchB-vsi-vpnb] quit

# 将所有参与VXLAN业务的接口配置为保留接口。

[SwitchA] m-lag mad exclude interface loopback 0

[SwitchA] m-lag mad exclude interface twenty-fivegige 1/0/4

[SwitchA] m-lag mad exclude interface vsi-interface 1

[SwitchA] m-lag mad exclude interface vsi-interface 2

[SwitchA] m-lag mad exclude interface vlan-interface 12

(6)     配置Switch C

# 开启L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 创建VSI实例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 创建VSI实例vpnb和VXLAN 20。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作为隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch C和对端的聚合设备之间建立VXLAN隧道:

¡     创建模式为VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址为本地接口Loopback0的地址2.2.2.2。

¡     指定隧道的目的端地址为Switch C上接口Loopback0的地址1.1.1.1。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 2.2.2.2

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 配置Tunnel1和VXLAN10关联。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置Tunnel1和VXLAN20关联。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] tunnel 1

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 在接入服务器的接口Twenty-FiveGigE1/0/3上创建以太网服务实例1000,该实例用来匹配VLAN 4的数据帧。

[SwitchC] interface twenty-fivegige 1/0/3

[SwitchC-Twenty-FiveGigE1/0/3] service-instance 1000

[SwitchC-Twenty-FiveGigE1/0/3-srv1000] encapsulation s-vid 4

# 配置以太网服务实例1000与VSI实例vpnb关联。

[SwitchC-Twenty-FiveGigE1/0/3-srv1000] xconnect vsi vpnb

[SwitchC-Twenty-FiveGigE1/0/3-srv1000] quit

[SwitchC-Twenty-FiveGigE1/0/3] quit

# 创建VSI虚接口VSI-interface1,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 10内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchC-Vsi-interface1] mac-address 1-1-1

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-arp enable

[SwitchC-Vsi-interface1] quit

# 创建VSI虚接口VSI-interface2,并为其配置IP地址和MAC地址,该IP地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口。

[SwitchC] interface vsi-interface 2

[SwitchC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchC-Vsi-interface2] mac-address 2-2-2

[SwitchC-Vsi-interface2] distributed-gateway local

[SwitchC-Vsi-interface2] local-proxy-arp enable

[SwitchC-Vsi-interface2] quit

# 开启分布式网关的动态ARP表项同步功能。

[SwitchC] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] gateway vsi-interface 2

[SwitchC-vsi-vpnb] quit

4. 验证配置

(1)     以Switch A为例,验证M-LAG设备

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态,并且隧道源地址为1.1.1.1。

[SwitchA]display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 50506 bytes/sec, 404048 bits/sec, 295 packets/sec

Input: 4 packets, 240 bytes, 0 drops

Output: 257011 packets, 43395523 bytes, 0 drops

# 查看Switch A上的VSI信息,可以看到设备自动在peer-link链路上创建了AC,并将其与VSI关联。

¡     采用VXLAN ID映射方式生成peer-link链路上动态AC的报文匹配规则:

[SwitchA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel0              0x5000000  UP       Auto        Disabled

  ACs:

    AC                                                          Link ID  State

    BAGG3 srv1                                                  0        Up

    BAGG4 srv1000                                               1        Up

    BAGG5 srv1000                                               2        Up

    Statistics: Disabled

¡     根据用户侧以太网服务实例的报文匹配规则创建peer-link链路上的AC:

[SwitchA] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

  ACs:

    AC                                                           Link ID    State

   Type

    BAGG4 srv1000                                                0x0        Up            Dynamic

(M-LAG)

    BAGG3 srv1                                                   0x1        Up            Dynamic

(M-LAG)

    BAGG5 srv1000                                                0x2        Up            Dynamic

(M-LAG)

    BAGG3 srv2                                                   0x3        Up            Dynamic

(M-LAG)

(2)     验证分布式VXLAN IP网关设备Switch C

# 查看Switch C的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。

[SwitchC]display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 8 packets, 480 bytes, 0 drops

Output: 4 packets, 240 bytes, 0 drops

# 查看Switch C上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。

[SwitchC] dis l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

 

VSI Name: vpnb

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : Unlimited

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  PW Redundancy Mode      : Slave

  Flooding                : Enabled

  ESI                     : 0000.0000.0000.0000.0000

  Redundancy Mode         : All-active

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 2

  VXLAN ID                : 20

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

(3)     验证主机之间可以互访

虚拟机VM 1、VM 2和VM 3之间可以互访。虚拟机与Switch A或Switch B相连的链路断开后,VM 1、VM 2和VM 3仍然可以通过另一台设备互访。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们