02-VXLAN IP网关配置
本章节下载: 02-VXLAN IP网关配置 (912.35 KB)
目 录
1.12.3 分布式VXLAN IP网关连接IPv4网络配置举例
1.12.4 分布式VXLAN IP网关连接IPv6网络配置举例
1.12.5 IPv4 VXLAN支持M-LAG配置举例(直连模式peer-link链路)
1.12.6 IPv4 VXLAN支持M-LAG配置举例(隧道模式peer-link链路)
VXLAN可以为分散的物理站点提供二层互联。如果要为VXLAN站点内的虚拟机提供三层业务,则需要在网络中部署VXLAN IP网关,以便站点内的虚拟机通过VXLAN IP网关与外界网络或其他VXLAN网络内的虚拟机进行三层通信。VXLAN IP网关既可以部署在独立的物理设备上,也可以部署在VTEP设备上。VXLAN IP网关部署在VTEP设备上时,又分为集中式VXLAN IP网关和分布式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-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内对应的虚拟机。
由单台设备承担站点内大量虚拟机的集中式VXLAN IP网关功能,对设备的处理资源占用较高,并且对于网关的单点故障没有保护措施。通过集中式VXLAN IP网关保护组,可以实现多台设备同时承担网关功能,在提供单点故障保护机制的同时,还可以实现上下行流量的负载分担。
图1-4 集中式VXLAN IP网关保护组示意图
如图1-4所示,两台集中式VXLAN IP网关形成保护组,两台设备上存在相同的VTEP IP,称为保护组的VTEP IP。接入层VTEP与保护组的VTEP IP建立VXLAN隧道,将虚拟机发送至其它网络的报文转发至保护组,保护组中的两台网关设备均可以接收并处理虚拟机发往其它网络的流量。
在接入层VTEP上,该VTEP会与保护组中每个成员VTEP的自身IP地址自动建立VXLAN隧道,泛洪流量(组播、广播和未知单播)通过该隧道转发给所有的成员VTEP,以确保成员VTEP上的表项信息一致。
采用集中式VXLAN IP网关方案时,不同VXLAN之间的流量以及VXLAN访问外界网络的流量全部由集中式VXLAN IP网关处理,网关压力较大,并加剧了网络带宽资源的消耗。如图1-5所示,在分布式VXLAN IP网关方案中,每台VTEP设备都可以作为VXLAN IP网关,对本地站点的流量进行三层转发,很好地缓解了网关的压力。
图1-5 分布式VXLAN IP网关示意图
如图1-6所示,在分布式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-6 分布式VXLAN IP网关部署示意图
如图1-6所示,以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。
如图1-6所示,以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。
虚拟机要想与外部网络进行三层通信,需要在接入虚拟机的本地分布式VXLAN IP网关上指定流量的下一跳为Border,可以通过如下方式来实现:
· 在本地分布式VXLAN IP网关上配置静态路由,指定路由下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。
· 在本地分布式VXLAN IP网关上配置策略路由,设置报文的下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。
如图1-6所示,以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对接收到的报文进行解封装后,对报文进行三层转发。
建议不要在同一台设备上同时配置集中式VXLAN IP网关和集中式VXLAN IP网关保护组功能。
在VSI虚接口上应用策略路由时,请确保该VSI虚接口仅被一个VSI指定为了网关接口,否则可能导致策略路由不生效。
VXLAN IP网关配置任务如下:
(1) 配置VXLAN IP网关
请根据实际组网,选择以下一项任务进行配置:
(2) (可选)管理ARP表项/ND表项
(3) (可选)配置VSI虚接口
(4) (可选)开启VXLAN支持M-LAG功能
配置集中式VXLAN IP网关和分布式VXLAN IP网关设备前,需要完成以下配置任务:
· 创建VSI和VXLAN。
· 配置VXLAN隧道,并将VXLAN与VXLAN隧道关联。
上述配置的详细介绍,请参见“VXLAN配置指导”中的“配置VXLAN”。
在集中式VXLAN IP网关组网中,请不要执行local-proxy-arp enable命令开启本地代理ARP功能。
(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的网关接口。
为了节省分布式VXLAN IP网关设备上的三层接口资源,在网关设备上多个VXLAN可以共用一个VSI虚接口,为VSI虚接口配置一个主IPv4地址和多个从IPv4地址,分别作为不同VXLAN内虚拟机的网关地址。
多个VXLAN共用一个VSI虚接口时,网关设备无法判断从VSI虚接口接收到的报文属于哪个VXLAN。为了解决该问题,需要在VSI视图下通过本命令指定VSI所属的子网网段,通过子网网段判断报文所属的VSI,并在该VSI内转发报文,从而限制广播报文范围,有效地节省带宽资源。
(1) 进入系统视图。
system-view
(2) 进入VXLAN所在VSI视图。
vsi vsi-name
(3) 配置当前VSI所属的子网网段。
gateway subnet ipv4-address wildcard-mask
缺省情况下,未指定VSI所属的子网网段。
保护组中所有网关上的VXLAN配置需要保证完全一致。
(1) 进入系统视图。
system-view
(2) 创建VSI虚接口,并进入VSI虚接口视图。
interface vsi-interface vsi-interface-id
(3) 配置VSI虚接口的IP地址。
ip address ip-address { mask | mask-length }
缺省情况下,未配置VSI虚接口的IP地址。
请在保护组中的每台网关上配置相同的VSI虚接口IP地址。
(4) 配置VSI虚接口的MAC地址。
mac-address mac-address
缺省情况下,VSI虚接口的MAC地址为三层以太网接口的缺省MAC地址。
保护组中所有网关上配置的MAC地址必须相同。
(5) 退回系统视图。
quit
(6) 进入VXLAN所在VSI视图。
vsi vsi-name
(7) 为VSI指定网关接口。
gateway vsi-interface vsi-interface-id
缺省情况下,未指定VSI的网关接口。
(8) 退回系统视图。
quit
(9) 将本设备加入VXLAN IP网关保护组,并配置本设备的成员地址。
vtep group group-ip member local member-ip
缺省情况下,设备未加入VXLAN IP网关保护组。
member-ip为本设备的成员地址,该地址必须是设备上已经存在的IP地址,并且需要通过路由协议发布到IP网络。同一个保护组中不同成员VTEP的地址不能相同。
(10) 配置VXLAN IP网关保护组的成员地址列表。
vtep group group-ip member remote member-ip&<1-8>
缺省情况下,未配置VXLAN IP网关保护组的成员地址列表。
执行本命令时,必须输入保护组中所有其它成员的成员地址。
执行本配置时,需要完成以下配置任务:
· 配置VXLAN隧道工作在二层转发模式。
· 创建VSI和VXLAN。
· 配置VXLAN隧道,并将VXLAN与VXLAN隧道关联。
(1) 进入系统视图。
system-view
(2) 配置VXLAN IP网关保护组的成员地址列表。
vtep group group-ip member remote member-ip&<1-8>
缺省情况下,未配置VXLAN IP网关保护组的成员地址列表。
如果虚拟机要想与外部网络进行三层通信,除本配置外,还需要在接入虚拟机的本地分布式VXLAN IP网关上配置静态路由或策略路由:
· 配置静态路由:指定路由的下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。
· 配置策略路由:通过apply default-next-hop命令设置报文的缺省下一跳为Border上同一个VXLAN对应VSI虚接口的IP地址。策略路由的配置方法,请参见“三层技术-IP路由配置指导”中的“策略路由”。
在分布式VXLAN IP网关设备上,如果开启了ARP泛洪抑制功能,并在VSI虚接口上开启了本地代理ARP功能,则只有本地代理ARP功能生效。建议不要在分布式VXLAN IP网关设备上同时开启这两个功能。有关ARP泛洪抑制功能的详细介绍请参见“VXLAN配置指导”中的“VXLAN概述”。
分布式VXLAN IP网关连接IPv4站点网络时,所有网关上都需要为相同VSI虚接口配置相同的MAC地址。如果网关同时连接IPv4站点网络和IPv6站点网络,则不同分布式VXLAN IP网关上需要为相同VSI虚接口配置不同的链路本地地址。
(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的网关接口。
分布式VXLAN IP网关上开启本地代理ARP/ND功能时,本地网关不会将目标IP地址为分布式网关VSI虚接口的ARP/ND报文转发给其他网关,只有本地网关能够学习到ARP/ND报文发送者的ARP/ND表项。如果希望所有网关都能学习到该ARP/ND表项,需要开启分布式网关的动态ARP/ND表项同步功能。分布式VXLAN IP网关之间也可以通过控制器或EVPN等在彼此之间同步ARP/ND表项,此时无需开启该功能。
(1) 进入系统视图。
system-view
(2) 开启分布式网关的动态ARP表项同步功能。
arp distributed-gateway dynamic-entry synchronize
缺省情况下,分布式网关的动态ARP表项同步功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 开启分布式网关的动态ND表项同步功能。
ipv6 nd distributed-gateway dynamic-entry synchronize
缺省情况下,分布式网关的动态ND表项同步功能处于关闭状态。
为了节省分布式VXLAN IP网关设备上的三层接口资源,在网关设备上多个VXLAN可以共用一个VSI虚接口,为VSI虚接口配置一个主IPv4地址和多个从IPv4地址、或多个IPv6地址,分别作为不同VXLAN内虚拟机的网关地址。
多个VXLAN共用一个VSI虚接口时,网关设备无法判断从VSI虚接口接收到的报文属于哪个VXLAN。为了解决该问题,需要在VSI视图下通过本命令指定VSI所属的子网网段,通过子网网段判断报文所属的VSI,并在该VSI内转发报文,从而限制广播报文范围,有效地节省带宽资源。
(1) 进入系统视图。
system-view
(2) 进入VXLAN所在VSI视图。
vsi vsi-name
(3) 配置当前VSI所属的子网网段。
gateway subnet { ipv4-address wildcard-mask | ipv6-address prefix-length }
缺省情况下,未指定VSI所属的子网网段。
VXLAN IP网关既可以动态学习ARP表项,也可以通过本配置静态创建ARP表项。
(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”。
缺省情况下,设备从VXLAN隧道接收到报文后可以自动学习远端虚拟机的ARP/ND信息,即远端ARP/ND信息。在SDN控制器组网下,当控制器和设备间进行表项同步时,可以通过本配置暂时关闭远端ARP/ND自动学习功能,以节省占用的设备资源。同步完成后,再开启远端ARP/ND自动学习功能。
建议用户只在控制器和设备间同步表项的情况下执行本配置。
(1) 进入系统视图。
system-view
(2) 关闭远端ARP自动学习功能。
vxlan tunnel arp-learning disable
缺省情况下,远端ARP自动学习功能处于开启状态。
(3) 关闭远端ND自动学习功能。
vxlan tunnel nd-learning disable
缺省情况下,远端ND自动学习功能处于开启状态。
有关bandwidth和description命令的详细介绍,请参见“接口管理命令参考”中的“接口公共命令”。
不能为VSI虚接口配置如下MAC地址:
· 组播MAC地址
· VRRP虚MAC地址
· 00e0-fc09-bcf9
· 000f-e207-f2e0
(1) 进入系统视图。
system-view
(2) 进入VSI虚接口视图。
interface vsi-interface vsi-interface-id
(3) 配置VSI虚接口的MAC地址。
mac-address mac-address
缺省情况下,VSI虚接口的MAC地址为三层以太网接口的缺省MAC地址。
(4) 配置接口的描述信息。
description text
缺省情况下,接口的描述信息为“接口名 Interface”,例如:Vsi-interface100 Interface。
(5) 配置接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)。
期望带宽供业务模块使用,不会对接口实际带宽造成影响。
(6) 开启VSI虚接口的ARP报文发送限速功能。
arp send-rate pps
缺省情况下,VSI虚接口的ARP报文发送限速功能处于关闭状态。
本功能仅限制VSI虚接口触发的ARP请求报文的发送速率。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。有关default命令的详细介绍,请参见“接口管理命令参考”中的“接口公共命令”。
(1) 进入系统视图。
system-view
(2) 进入VSI虚接口视图。
interface vsi-interface vsi-interface-id
(3) 恢复接口的缺省配置。
default
VXLAN利用M-LAG将两台物理设备连接起来虚拟成一台设备,使用该虚拟设备作为VTEP(既可以是仅用于二层转发的VTEP,也可以是VXLAN IP网关),可以避免VTEP单点故障对网络造成影响,从而提高VXLAN网络的可靠性。
在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。
配置采用隧道模式peer-link链路的VXLAN支持M-LAG时,需要注意:
· 建议为VXLAN隧道和作为peer-link链路的VXLAN隧道配置不同的物理接口作为隧道出接口。
· 建议在作为peer-link链路的VXLAN隧道接口上执行tunnel tos命令为封装后的隧道报文配置较高的优先级(数值越大,优先级越高),以确保该隧道上传递的DRCP(Distributed Relay Control Protocol,分布式聚合控制协议)等协议报文的优先级高于其他隧道上传递的普通数据报文。
· 在作为peer-link链路的VXLAN隧道对应的二层以太网接口上关闭STP功能,以免上行设备错误地阻塞连接M-LAG设备的接口。
· 执行reserved vxlan命令配置保留VXLAN,以便通过该VXLAN转发M-LAG协议报文等。作为M-LAG设备的两台VTEP上必须配置相同的保留VXLAN。
· 作为M-LAG设备的两台VTEP上,M-LAG接口的以太网服务实例匹配规则、关联的VSI对应的VXLAN ID必须一致,且只能采用手工方式创建AC。
作为M-LAG设备的VTEP从M-LAG接口学习到本地MAC地址,并通过peer-link链路将MAC地址同步给远端VTEP(另一台M-LAG设备)后,在本端VTEP上手动删除MAC地址表项,远端VTEP(M-LAG设备)上的MAC地址表项不会随之删除,只能等待MAC地址老化时间到达后,才会删除远端VTEP上的表项。
配置VXLAN的前,需要完成VXLAN IP网关相关配置。
(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隧道的公网出接口)配置为保留接口。采用隧道模式peer-link链路时,需要将该隧道配置为保留接口。
本命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“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命令”。
可在任意视图下执行以下命令,显示VSI虚接口信息。
display interface [ vsi-interface [ vsi-interface-id ] ] [ brief [ description | down ] ]
请在用户视图下执行以下命令,清除VSI虚接口的统计信息。
reset counters interface [ vsi-interface [ vsi-interface-id ] ]
本命令的详细介绍,请参见“接口管理命令参考”中的“接口公共命令”。
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地址表项。
· 站点之间的泛洪流量采用头端复制的方式转发。
图1-7 集中式VXLAN IP网关配置组网图
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 本举例中以太网服务实例所在的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
(1) 配置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网段的路由。(具体配置过程略)
(2) 配置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
# 在接入服务器的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-type trunk
[SwitchA-HundredGigE1/0/1] port trunk permit vlan 2
[SwitchA-HundredGigE1/0/1] service-instance 1000
[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-HundredGigE1/0/1-srv1000] quit
[SwitchA-HundredGigE1/0/1] quit
(3) 配置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
(4) 配置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
# 在接入服务器的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchC] interface hundredgige 1/0/1
[SwitchC-HundredGigE1/0/1] port link-type trunk
[SwitchC-HundredGigE1/0/1] port trunk permit vlan 2
[SwitchC-HundredGigE1/0/1] service-instance 1000
[SwitchC-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchC-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-HundredGigE1/0/1-srv1000] quit
[SwitchC-HundredGigE1/0/1] quit
(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 : -
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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之间可以互访。
Switch A为与服务器连接的VTEP设备,Switch B和Switch C为与广域网连接的集中式VXLAN IP网关设备。虚拟机VM 1属于VXLAN 10,通过VXLAN IP网关保护组实现Switch B和Switch C能够同时为VM 1的跨网络报文进行三层转发,同时实现网关设备的备份。
图1-8 集中式VXLAN IP网关保护组配置组网图
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 本举例中以太网服务实例所在的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
(1) 配置IP地址和单播路由协议
# 在VM 1上指定网关地址为10.1.1.1。(具体配置过程略)
# 配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议。(具体配置过程略)
(2) 配置Switch A
# 开启L2VPN能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 创建VSI实例vpna和VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] 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和VXLAN IP保护组之间建立VXLAN隧道:
¡ 创建模式为VXLAN的隧道接口Tunnel1。
¡ 指定隧道的源端地址为本地接口Loopback0的地址1.1.1.1。
¡ 指定隧道的目的端地址为Switch B和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与VXLAN 10关联。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] tunnel 1
[SwitchA-vsi-vpna-vxlan10] quit
[SwitchA-vsi-vpna] quit
# 在接入服务器的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-type trunk
[SwitchA-HundredGigE1/0/1] port trunk permit vlan 2
[SwitchA-HundredGigE1/0/1] service-instance 1000
[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-HundredGigE1/0/1-srv1000] quit
[SwitchA-HundredGigE1/0/1] quit
# 指定VXLAN IP网关保护组以及成员。
[SwitchA] vtep group 2.2.2.2 member remote 3.3.3.3 4.4.4.4
(3) 配置Switch B
# 开启L2VPN能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 创建VSI实例vpna和VXLAN 10。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为保护组的VTEP IP地址。
[SwitchB] interface loopback 0
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchB-Loopback0] quit
# 配置接口Loopback1的IP地址,作为保护组的成员地址。
[SwitchB] interface loopback 1
[SwitchB-Loopback1] ip address 3.3.3.3 255.255.255.255
[SwitchB-Loopback1] quit
# 在VXLAN IP网关保护组和Switch A之间建立VXLAN隧道。
[SwitchB] interface tunnel 2 mode vxlan
[SwitchB-Tunnel2] source 2.2.2.2
[SwitchB-Tunnel2] destination 1.1.1.1
[SwitchB-Tunnel2] quit
# 配置Tunnel2与VXLAN10关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan10] tunnel 2
[SwitchB-vsi-vpna-vxlan10] quit
[SwitchB-vsi-vpna] quit
# 创建VSI虚接口VSI-interface1,为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址,并指定该接口的MAC地址。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vsi-interface1] mac-address 2-2-2
[SwitchB-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] gateway vsi-interface 1
[SwitchB-vsi-vpna] quit
# 配置VXLAN IP网关保护组,并配置本地成员地址。
[SwitchB] vtep group 2.2.2.2 member local 3.3.3.3
# 配置VXLAN IP网关保护组的其它成员地址。
[SwitchB] vtep group 2.2.2.2 member remote 4.4.4.4
(4) 配置Switch C
# 开启L2VPN能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 创建VSI实例vpna和VXLAN 10。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为保护组的VTEP IP地址。
[SwitchC] interface loopback 0
[SwitchC-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchC-Loopback0] quit
# 配置接口Loopback1的IP地址,作为保护组的成员地址。
[SwitchC] interface loopback 1
[SwitchC-Loopback1] ip address 4.4.4.4 255.255.255.255
[SwitchC-Loopback1] quit
# 在VXLAN IP网关保护组和Switch A之间建立VXLAN隧道。
[SwitchC] interface tunnel 2 mode vxlan
[SwitchC-Tunnel2] source 2.2.2.2
[SwitchC-Tunnel2] destination 1.1.1.1
[SwitchC-Tunnel2] quit
# 配置Tunnel2与VXLAN10关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan10] tunnel 2
[SwitchC-vsi-vpna-vxlan10] quit
[SwitchC-vsi-vpna] quit
# 创建VSI虚接口VSI-interface1,为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址,并指定该接口的MAC地址。
[SwitchC] interface vsi-interface 1
[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchC-Vsi-interface1] mac-address 2-2-2
[SwitchC-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] gateway vsi-interface 1
[SwitchC-vsi-vpna] quit
# 配置VXLAN IP网关保护组,并配置本地成员地址。
[SwitchC] vtep group 2.2.2.2 member local 4.4.4.4
# 配置VXLAN IP网关保护组的其它成员地址。
[SwitchC] vtep group 2.2.2.2 member remote 3.3.3.3
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都可以访问外部网络。
图1-9 分布式VXLAN IP网关连接IPv4网络配置组网图
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 本举例中以太网服务实例所在的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
(1) 配置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网段的路由。(具体配置过程略)
(2) 配置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的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-type trunk
[SwitchA-HundredGigE1/0/1] port trunk permit vlan 2
[SwitchA-HundredGigE1/0/1] service-instance 1000
[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-HundredGigE1/0/1-srv1000] quit
[SwitchA-HundredGigE1/0/1] quit
# 在接入VM 2的接口HundredGigE1/0/3上创建以太网服务实例1000,该实例用来匹配VLAN 3的数据帧。
[SwitchA] interface hundredgige 1/0/3
[SwitchA-HundredGigE1/0/3] port link-type trunk
[SwitchA-HundredGigE1/0/3] port trunk permit vlan 3
[SwitchA-HundredGigE1/0/3] service-instance 1000
[SwitchA-HundredGigE1/0/3-srv1000] encapsulation s-vid 3
# 配置以太网服务实例1000与VSI实例vpnb关联。
[SwitchA-HundredGigE1/0/3-srv1000] xconnect vsi vpnb
[SwitchA-HundredGigE1/0/3-srv1000] quit
[SwitchA-HundredGigE1/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
# 配置策略路由,指定IPv4报文如果未找到匹配的路由表项,则设置报文的下一跳为Switch B上接口VSI-interface1的IP地址10.1.1.2。
[SwitchA] acl advanced 3000
[SwitchA-acl-ipv4-adv-3000] rule 0 permit ip
[SwitchA-acl-ipv4-adv-3000] quit
[SwitchA] policy-based-route vxlan10 permit node 5
[SwitchA-pbr-vxlan10-5] if-match acl 3000
[SwitchA-pbr-vxlan10-5] apply default-next-hop 10.1.1.2
[SwitchA-pbr-vxlan10-5] quit
# 配置策略路由,指定IPv4报文如果未找到匹配的路由表项,则设置报文的下一跳为Switch B上接口VSI-interface2的IP地址10.1.2.2。
[SwitchA] policy-based-route vxlan20 permit node 5
[SwitchA-pbr-vxlan20-5] if-match acl 3000
[SwitchA-pbr-vxlan20-5] apply default-next-hop 10.1.2.2
[SwitchA-pbr-vxlan20-5] quit
# 在VSI虚接口VSI-interface1和VSI-interface2上应用策略路由。
[SwitchA] interface vsi-interface 1
[SwitchA-Vsi-interface1] ip policy-based-route vxlan10
[SwitchA-Vsi-interface1] quit
[SwitchA] interface vsi-interface 2
[SwitchA-Vsi-interface2] ip policy-based-route vxlan20
[SwitchA-Vsi-interface2] quit
(3) 配置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
(4) 配置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的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 4的数据帧。
[SwitchC] interface hundredgige 1/0/1
[SwitchC-HundredGigE1/0/1] port link-type trunk
[SwitchC-HundredGigE1/0/1] port trunk permit vlan 4
[SwitchC-HundredGigE1/0/1] service-instance 1000
[SwitchC-HundredGigE1/0/1-srv1000] encapsulation s-vid 4
# 配置以太网服务实例1000与VSI实例vpnc关联。
[SwitchC-HundredGigE1/0/1-srv1000] xconnect vsi vpnc
[SwitchC-HundredGigE1/0/1-srv1000] quit
[SwitchC-HundredGigE1/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
# 配置策略路由,指定IPv4报文如果未找到匹配的路由表项,则设置报文的下一跳为Switch B上接口VSI-interface1的IP地址20.1.1.2。
[SwitchC] acl advanced 3000
[SwitchC-acl-ipv4-adv-3000] rule 0 permit ip
[SwitchC-acl-ipv4-adv-3000] quit
[SwitchC] policy-based-route vxlan permit node 5
[SwitchC-pbr-vxlan-5] if-match acl 3000
[SwitchC-pbr-vxlan-5] apply default-next-hop 20.1.1.2
[SwitchC-pbr-vxlan-5] quit
# 在VSI虚接口VSI-interface1上应用策略路由。
[SwitchC] interface vsi-interface1
[SwitchC-Vsi-interface1] ip policy-based-route vxlan
[SwitchC-Vsi-interface1] quit
(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 : -
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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
HGE1/0/1 srv1000 0 Up
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 HGE1/0/1 20 D
10.1.2.2 3c8c-400d-867a vpnb Tunnel1 20 D
10.1.2.11 0cda-41b5-cf89 vpnb HGE1/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 : -
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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之间互访。
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隧道。
· 站点之间的泛洪流量采用头端复制的方式转发。
图1-10 分布式VXLAN IP网关连接IPv6网络配置组网图
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 本举例中以太网服务实例所在的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
(1) 配置IPv6地址和单播路由协议
# 在VM 1和VM 2上分别指定网关地址为1::1、4::1。(具体配置过程略)
# 配置各接口的地址;在IP核心网络内配置OSPF协议,确保交换机之间路由可达;配置Switch B和Switch E发布1::/64、4::/64和3::/64网段的路由。(具体配置过程略)
(2) 配置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的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-type trunk
[SwitchA-HundredGigE1/0/1] port trunk permit vlan 2
[SwitchA-HundredGigE1/0/1] service-instance 1000
[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-HundredGigE1/0/1-srv1000] quit
[SwitchA-HundredGigE1/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
(3) 配置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
(4) 配置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的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 4的数据帧。
[SwitchC] interface hundredgige 1/0/1
[SwitchC-HundredGigE1/0/1] port link-type trunk
[SwitchC-HundredGigE1/0/1] port trunk permit vlan 4
[SwitchC-HundredGigE1/0/1] service-instance 1000
[SwitchC-HundredGigE1/0/1-srv1000] encapsulation s-vid 4
# 配置以太网服务实例1000与VSI实例vpnb关联。
[SwitchC-HundredGigE1/0/1-srv1000] xconnect vsi vpnb
[SwitchC-HundredGigE1/0/1-srv1000] quit
[SwitchC-HundredGigE1/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
(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 : -
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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
HGE1/0/1 srv1000 0 Up
Statistics: Disabled
VSI Name: vpnb
VSI Index : 0
VSI State : Up
MTU : -
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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 : -
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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之间可以互访。
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互通。
图1-11 IPv4 VXLAN支持M-LAG配置组网图
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 本举例中以太网服务实例所在的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
(1) 配置IP地址和单播路由协议
# 在VM 1和VM 2上指定网关地址为10.1.1.1;在VM 3上指定网关地址为10.1.2.1。(具体配置过程略)
# 配置各接口的IP地址和子网掩码。(具体配置过程略)
# 在IP核心网络内配置OSPF协议,发布各接口IP地址(包括Loopback接口的IP地址)对应网段的路由,确保交换机之间路由可达。(具体配置过程略)
(2) 配置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
# 将端口HundredGigE1/0/3加入聚合组3中。
[SwitchA] interface hundredgige 1/0/3
[SwitchA-HundredGigE1/0/3] port link-aggregation group 3
[SwitchA-HundredGigE1/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
# 将端口HundredGigE1/0/1加入聚合组4中。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-aggregation group 4
[SwitchA-HundredGigE1/0/1] quit
# 创建二层聚合接口5,并配置该接口为动态聚合模式。
[SwitchA] interface bridge-aggregation 5
[SwitchA-Bridge-Aggregation5] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation5] quit
# 将端口HundredGigE1/0/2加入到聚合组5中。
[SwitchA] interface hundredgige 1/0/2
[SwitchA-HundredGigE1/0/2] port link-aggregation group 5
[SwitchA-HundredGigE1/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] port link-type trunk
[SwitchA-Bridge-Aggregation4] port trunk permit vlan 1
[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] port link-type trunk
[SwitchA-Bridge-Aggregation5] port trunk permit vlan 2
[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 hundredgige 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
(3) 配置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
# 将端口HundredGigE1/0/3加入聚合组3中。
[SwitchB] interface hundredgige 1/0/3
[SwitchB-HundredGigE1/0/3] port link-aggregation group 3
[SwitchB-HundredGigE1/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
# 将端口HundredGigE1/0/1加入聚合组4中。
[SwitchB] interface hundredgige 1/0/1
[SwitchB-HundredGigE1/0/1] port link-aggregation group 4
[SwitchB-HundredGigE1/0/1] quit
# 创建二层聚合接口5,并配置该接口为动态聚合模式。
[SwitchB] interface bridge-aggregation 5
[SwitchB-Bridge-Aggregation5] link-aggregation mode dynamic
[SwitchB-Bridge-Aggregation5] quit
# 将端口HundredGigE1/0/2加入聚合组5中。
[SwitchB] interface hundredgige 1/0/2
[SwitchB-HundredGigE1/0/2] port link-aggregation group 5
[SwitchB-HundredGigE1/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] port link-type trunk
[SwitchB-Bridge-Aggregation4] port trunk permit vlan 1
[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] port link-type trunk
[SwitchB-Bridge-Aggregation5] port trunk permit vlan 2
[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业务的接口配置为保留接口。
[SwitchB] m-lag mad exclude interface loopback 0
[SwitchB] m-lag mad exclude interface hundredgige 1/0/4
[SwitchB] m-lag mad exclude interface vsi-interface 1
[SwitchB] m-lag mad exclude interface vsi-interface 2
[SwitchB] m-lag mad exclude interface vlan-interface 12
(4) 配置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
# 在接入服务器的接口HundredGigE1/0/3上创建以太网服务实例1000,该实例用来匹配VLAN 4的数据帧。
[SwitchC] interface hundredgige 1/0/3
[SwitchC-HundredGigE1/0/3] port link-type trunk
[SwitchC-HundredGigE1/0/3] port trunk permit vlan 4
[SwitchC-HundredGigE1/0/3] service-instance 1000
[SwitchC-HundredGigE1/0/3-srv1000] encapsulation s-vid 4
# 配置以太网服务实例1000与VSI实例vpnb关联。
[SwitchC-HundredGigE1/0/3-srv1000] xconnect vsi vpnb
[SwitchC-HundredGigE1/0/3-srv1000] quit
[SwitchC-HundredGigE1/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
(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
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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仍然可以通过另一台设备互访。
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互通。
图1-12 IPv4 VXLAN支持M-LAG配置组网图
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 本举例中以太网服务实例所在的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
(1) 配置IP地址和单播路由协议
# 在VM 1和VM 2上指定网关地址为10.1.1.1;在VM 3上指定网关地址为10.1.2.1。(具体配置过程略)
# 配置各接口的IP地址和子网掩码。(具体配置过程略)
# 在IP核心网络内配置OSPF协议,发布各接口IP地址(包括Loopback接口的IP地址)对应网段的路由,确保交换机之间路由可达。(具体配置过程略)
(2) 配置Switch A
# 开启L2VPN能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置预留VXLAN ID为1234。
[SwitchA] reserved vxlan 1234
# 配置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 11.1.1.1 source 12.1.1.2
[SwitchA] m-lag restore-delay 180
# 配置接口Loopback1的IP地址,作为隧道的源端地址。
[SwitchA] interface loopback 1
[SwitchA-Loopback1] ip address 8.8.8.8 255.255.255.255
[SwitchA-Loopback1] quit
# 在Switch A和Switch B之间手工创建VXLAN隧道Tunnel2,将其配置为peer-link接口,并配置封装后隧道报文的ToS值为100。
[SwitchA] interface tunnel 2 mode vxlan
[SwitchA-Tunnel2] source 8.8.8.8
[SwitchA-Tunnel2] destination 9.9.9.9
[SwitchA-Tunnel2] port m-lag peer-link 1
[SwitchA-Tunnel2] tunnel tos 100
[SwitchA-Tunnel2] quit
# 创建二层聚合接口4,并配置该接口为动态聚合模式。
[SwitchA] interface bridge-aggregation 4
[SwitchA-Bridge-Aggregation4] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation4] quit
# 将端口HundredGigE1/0/1加入聚合组4中。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-aggregation group 4
[SwitchA-HundredGigE1/0/1] quit
# 创建二层聚合接口5,并配置该接口为动态聚合模式。
[SwitchA] interface bridge-aggregation 5
[SwitchA-Bridge-Aggregation5] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation5] quit
# 将端口HundredGigE1/0/2加入到聚合组5中。
[SwitchA] interface hundredgige 1/0/2
[SwitchA-HundredGigE1/0/2] port link-aggregation group 5
[SwitchA-HundredGigE1/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] port link-type trunk
[SwitchA-Bridge-Aggregation4] port trunk permit vlan 1
[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] port link-type trunk
[SwitchA-Bridge-Aggregation5] port trunk permit vlan 2
[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 tunnel 2
[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
(3) 配置Switch B
# 开启L2VPN能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 配置预留VXLAN ID为1234。
[SwitchB] reserved vxlan 1234
# 配置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 12.1.1.2 source 11.1.1.1
[SwitchB] m-lag restore-delay 180
# 配置接口Loopback1的IP地址,作为隧道的源端地址。
[SwitchB] interface loopback 1
[SwitchB-Loopback1] ip address 9.9.9.9 255.255.255.255
[SwitchB-Loopback1] quit
# 在Switch A和Switch B之间手工创建VXLAN隧道Tunnel2,将其配置为peer-link接口,并配置封装后隧道报文的ToS值为100。
[SwitchB] interface tunnel 2 mode vxlan
[SwitchB-Tunnel2] source 9.9.9.9
[SwitchB-Tunnel2] destination 8.8.8.8
[SwitchB-Tunnel2] port m-lag peer-link 1
[SwitchB-Tunnel2] tunnel tos 100
[SwitchB-Tunnel2] quit
# 创建二层聚合接口4,并配置该接口为动态聚合模式。
[SwitchB] interface bridge-aggregation 4
[SwitchB-Bridge-Aggregation4] link-aggregation mode dynamic
[SwitchB-Bridge-Aggregation4] quit
# 将端口HundredGigE1/0/1加入聚合组4中。
[SwitchB] interface hundredgige 1/0/1
[SwitchB-HundredGigE1/0/1] port link-aggregation group 4
[SwitchB-HundredGigE1/0/1] quit
# 创建二层聚合接口5,并配置该接口为动态聚合模式。
[SwitchB] interface bridge-aggregation 5
[SwitchB-Bridge-Aggregation5] link-aggregation mode dynamic
[SwitchB-Bridge-Aggregation5] quit
# 将端口HundredGigE1/0/2加入聚合组5中。
[SwitchB] interface hundredgige 1/0/2
[SwitchB-HundredGigE1/0/2] port link-aggregation group 5
[SwitchB-HundredGigE1/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] port link-type trunk
[SwitchB-Bridge-Aggregation4] port trunk permit vlan 1
[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] port link-type trunk
[SwitchB-Bridge-Aggregation5] port trunk permit vlan 2
[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业务的接口配置为保留接口。
[SwitchB] m-lag mad exclude interface loopback 0
[SwitchB] m-lag mad exclude interface tunnel 2
[SwitchB] m-lag mad exclude interface vsi-interface 1
[SwitchB] m-lag mad exclude interface vsi-interface 2
[SwitchB] m-lag mad exclude interface vlan-interface 12
(4) 配置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
# 在接入服务器的接口HundredGigE1/0/3上创建以太网服务实例1000,该实例用来匹配VLAN 4的数据帧。
[SwitchC] interface hundredgige 1/0/3
[SwitchC-HundredGigE1/0/3] port link-type trunk
[SwitchC-HundredGigE1/0/3] port trunk permit vlan 4
[SwitchC-HundredGigE1/0/3] service-instance 1000
[SwitchC-HundredGigE1/0/3-srv1000] encapsulation s-vid 4
# 配置以太网服务实例1000与VSI实例vpnb关联。
[SwitchC-HundredGigE1/0/3-srv1000] xconnect vsi vpnb
[SwitchC-HundredGigE1/0/3-srv1000] quit
[SwitchC-HundredGigE1/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
(1) 以Switch A为例,验证M-LAG设备
# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态,并且与Switch C建立的隧道源地址是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: 73 bytes/sec, 584 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 161 packets, 22684 bytes, 0 drops
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 8.8.8.8, destination 9.9.9.9
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 153 bytes/sec, 1224 bits/sec, 0 packets/sec
Last 300 seconds output rate: 775 bytes/sec, 6200 bits/sec, 3 packets/sec
Input: 298 packets, 47222 bytes, 0 drops
Output: 978 packets, 233157 bytes, 0 drops
# 查看Switch A上的VSI信息。
[SwitchA] display l2vpn vsi name vpna verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : 1500
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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
BAGG4 srv1000 0x0 Up Manual
BAGG5 srv1000 0x1 Up Manual
Statistics: Disabled
(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
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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
Diffserv Mode : -
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!