03-VXLAN数据中心互联配置
本章节下载: 03-VXLAN数据中心互联配置 (369.40 KB)
VXLAN隧道只能用于数据中心内部,实现数据中心内部虚拟机的互联。VXLAN-DCI(VXLAN Data Center Interconnect,VXLAN数据中心互联)隧道可以用来实现数据中心之间的互联。
VXLAN数据中心互联典型组网如图1-1所示。VXLAN-DCI隧道采用VXLAN封装格式,该隧道的端点称为ED(Edge Device,边缘设备)。ED与数据中心内部的VTEP建立VXLAN隧道。ED从VXLAN隧道或VXLAN-DCI隧道上接收到报文后,解除VXLAN封装,根据目的网络重新对报文进行VXLAN封装,并将其转发到VXLAN-DCI隧道或VXLAN隧道,从而实现VXLAN跨数据中心之间的互通。
图1-1 VXLAN数据中心互联典型组网图
VXLAN数据中心互联组网中,VTEP根据MAC地址表项对流量进行二层转发。ED根据ARP表项或ND表项对流量进行三层转发。
图1-2 VXLAN数据中心互联原理图
如图1-2所示,所有的ED上都需要创建VSI虚接口,并为不同ED上的相同VSI虚接口配置相同的IP地址,作为VXLAN网络内虚拟机的网关地址。在ED上还需要开启本地代理ARP功能或本地ND代理功能。
以VM 1访问VM 4为例,相同VXLAN内不同站点的虚拟机的通信过程为:
(1) VM 1广播发送ARP请求消息,获取VM 4的MAC地址。
(2) VTEP 1收到ARP请求消息后,学习VM 1的MAC地址,并在VM 1所属的VXLAN内广播该ARP请求。
(3) ED 1接收到ARP请求后,解除VXLAN封装,学习VM 1的ARP信息,并代理应答该ARP请求,即:向VM 1发送ARP应答消息,应答的MAC地址为VSI虚接口10的MAC地址。ARP应答消息通过VXLAN隧道发送给VTEP 1。
(4) VTEP 1解除VXLAN封装,学习ED 1的MAC地址,并将ARP应答消息转发给VM 1。
(5) VM 1学习VM 4的MAC地址,该地址为ED 1上VSI虚接口10的MAC地址。
(6) ED 1将接收到的ARP请求消息中的源MAC地址修改为VSI虚接口10的MAC地址,对该消息进行VXLAN封装后,将其发送给VXLAN 10内的所有远端ED。
(7) ED 2对VXLAN报文进行解封装后,学习VM 1的ARP信息(IP为10.1.1.100、MAC为ED 1上VSI虚接口10的MAC、出接口为接收该VXLAN报文的VXLAN-DCI模式Tunnel接口),将ARP请求消息中的源MAC修改为本地VSI虚接口10的MAC地址,并在VXLAN 10的所有VXLAN隧道上进行广播。
(8) VTEP 2收到ARP请求后,解除VXLAN封装,学习ED 2的MAC地址,并向本地站点广播该ARP请求。
(9) VM 4收到ARP请求后,学习VM 1的ARP信息(IP为10.1.1.100、MAC为ED 2上VSI虚接口10的MAC),并发送ARP应答消息给VTEP 2。
(10) VTEP 2 收到ARP应答消息后,查找MAC地址表,对报文进行VXLAN封装后发送给ED 2。
(11) ED 2根据接收到的ARP应答消息学习VM 4的ARP信息,将ARP应答消息中的源MAC修改为本地VSI虚接口10的MAC地址,并根据已经学习到的ARP表项,为ARP应答消息添加VXLAN封装后发送给ED 1。
(12) ED 1对VXLAN报文进行解封装后,根据收到的ARP应答消息学习VM 4的ARP信息(IP为10.1.1.200、MAC为ED 2上VSI虚接口10的MAC、出接口为接收该VXLAN报文的VXLAN-DCI模式Tunnel接口)。
(13) 通过上述步骤完成MAC地址表项和ARP表项的学习后,VM 1发送给VM 4的报文,根据已经学习到的表项进行转发:首先VTEP 1添加VXLAN封装,发送给ED 1;ED 1重新进行VXLAN封装后,通过VXLAN-DCI隧道将其发送给ED 2;ED 2重新封装后,通过VXLAN隧道将其发送给VTEP 2;VTEP 2将报文转发给VM 4。
以VM 1访问VM 5为例,不同VXLAN内虚拟机的通信过程为:
(1) VM 1广播发送ARP请求消息,获取网关10.1.1.1的MAC地址。
(2) VTEP 1收到ARP请求消息后,学习VM 1的MAC地址,并在VM 1所属的VXLAN内广播该ARP请求。
(3) ED 1接收到ARP请求后,解除VXLAN封装,学习VM 1的ARP信息,并向VM 1发送ARP应答消息,应答的MAC地址为VSI虚接口10的MAC地址。ARP应答消息通过VXLAN隧道发送给VTEP 1。
(4) VTEP 1解除VXLAN封装,学习ED 1的MAC地址,并将ARP应答消息转发给VM 1。
(5) VM 1学习网关的ARP信息,并将访问VM 5的报文发送给VTEP 1。
(6) VTEP 1查找MAC地址表项,填加VXLAN封装后,将报文发送给ED 1。
(7) ED 1收到数据报文后,解除VXLAN封装,并根据报文的目的IP地址查找路由表。由于目的IP地址与VSI虚接口20的接口IP地址在同一网段,ED 1在VXLAN 20内向所有VTEP和ED广播发送ARP请求,获取VM 5的MAC地址。ARP请求的源IP地址为20.1.1.1、目标IP地址为20.1.1.200、源MAC为ED 1上VSI虚接口20的MAC地址。
(8) ED 2接收到VXLAN报文后,对其进行解封装,将ARP请求中的源MAC修改为本地VSI虚接口20的MAC地址,并在VXLAN 20的所有VXLAN隧道上广播该ARP请求。
(9) VTEP 2收到ARP请求后,解除VXLAN封装,学习ED 2的MAC地址,并向本地站点广播该ARP请求。
(10) VM 5收到ARP请求后,学习ED 2的ARP信息(IP为20.1.1.1、MAC为ED 2上VSI虚接口20的MAC地址),并发送ARP应答消息给VTEP 2。
(11) VTEP 2 收到ARP应答消息后,查找MAC地址表项,对报文进行VXLAN封装后发送给ED 2。
(12) ED 2根据接收到的ARP应答消息学习VM 5的ARP信息,并通过VXLAN-DCI隧道向ED 1发送免费ARP消息(源IP为20.1.1.200、目标IP为20.1.1.200、源MAC为ED 2上VSI虚接口20的MAC地址)。
(13) ED 1对VXLAN报文进行解封装后,根据收到的免费ARP消息学习VM 5的ARP信息(IP为20.1.1.200、 MAC为ED 2上VSI虚接口20的MAC地址、出接口为接收该VXLAN报文的VXLAN-DCI模式Tunnel接口)。
(14) 通过上述步骤ED 1学习到了VM 5的ARP信息,ED 2学习VM 1的ARP信息的过程同上面过程类似。ED 1和ED 2均学习到VM 1和VM 5的ARP信息后,VM 1发送给VM 5的报文根据已经学习到的表项进行转发。
在VXLAN数据中心互联组网中,各设备上需要进行如下配置:
· IP核心网络中的设备配置路由协议,确保ED之间路由可达。
· ED和VTEP上配置路由协议,确保二者之间路由可达。
· ED和VTEP上配置VXLAN,在二者之间建立VXLAN隧道。
· ED上配置VXLAN数据中心互联,在ED之间建立VXLAN-DCI隧道。
ED上的VXLAN数据中心互联配置任务如下:
(1) 创建VSI和VXLAN
配置方式请参见“VXLAN配置指导”中的“配置VXLAN”。
(2) 创建VXLAN-DCI隧道
(4) 配置ED设备的网关接口
(5) 配置VSI虚接口
配置方式请参见“VXLAN配置指导”中的“VXLAN IP网关”。
(6) 配置VXLAN报文相关功能
¡ 配置VXLAN报文的目的UDP端口号
¡ 配置VXLAN报文检查功能
配置方式请参见“VXLAN配置指导”中的“配置VXLAN”。
(7) 配置VSI的报文统计功能
配置方式请参见“VXLAN配置指导”中的“配置VXLAN”。
本章只介绍VXLAN数据中心互联与VXLAN、VXLAN IP网关不同的配置,相同的配置请参见“VXLAN配置指导”中的“配置VXLAN”和“VXLAN IP网关”相关章节。
手工创建VXLAN隧道时,隧道的源端地址和目的端地址需要分别手工指定为本地和远端ED的接口地址。在同一台设备上,VXLAN-DCI隧道模式的不同Tunnel接口建议不要同时配置完全相同的源端地址和目的端地址。
关于隧道的详细介绍及Tunnel接口下的更多配置命令,请参见“接口管理配置指导”中的“隧道接口”。
(1) 进入系统视图。
system-view
(2) 创建模式为VXLAN-DCI隧道的Tunnel接口,并进入Tunnel接口视图。
interface tunnel tunnel-number mode vxlan-dci
在隧道的两端应配置相同的隧道模式,否则会造成报文传输失败。
(3) 配置隧道的源端地址。请选择其中一项进行配置。
¡ 直接指定隧道的源端地址。
source ipv4-address
指定的地址将作为封装后VXLAN报文的源IP地址。
¡ 指定隧道的源接口。
source interface-type interface-number
指定接口的主IP地址将作为封装后VXLAN报文的源IP地址。
缺省情况下,未设置VXLAN隧道的源端地址。
(4) 配置隧道的目的端地址。
destination ipv4-address
缺省情况下,未指定隧道的目的端地址。
隧道的目的端地址是对端设备上接口的IP地址,该地址将作为封装后VXLAN报文的目的地址。
一个VXLAN可以关联多条VXLAN-DCI隧道。一条VXLAN-DCI隧道可以关联多个VXLAN,这些VXLAN共用该VXLAN-DCI隧道,ED根据VXLAN报文中的VXLAN ID来识别隧道传递的报文所属的VXLAN。ED接收到某个VXLAN的泛洪流量后,如果采用单播路由泛洪方式,则ED将在与该VXLAN关联的所有VXLAN-DCI隧道上发送该流量,以便将流量转发给所有的远端VTEP。
ED必须与相同VXLAN内的其它ED建立VXLAN-DCI隧道,并将该隧道与VXLAN关联。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VXLAN视图。
vxlan vxlan-id
(4) 配置VXLAN与VXLAN-DCI隧道关联。
tunnel { tunnel-number | all }
缺省情况下,VXLAN未关联VXLAN-DCI隧道。
本命令的详细介绍,请参见“VXLAN命令参考”中的“VXLAN”。
(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) 开启当前接口。
undo shutdown
缺省情况下,接口处于开启状态。
(7) 退回系统视图。
quit
(8) 进入VSI视图。
vsi vsi-name
gateway vsi-interface vsi-interface-id
缺省情况下,没有为VSI指定网关接口。
可在任意视图下执行以下命令,显示VSI的信息。
display l2vpn vsi [ name vsi-name ] [ verbose ]
请在用户视图下执行以下命令,清除VSI的报文统计信息。
reset l2vpn statistics vsi [ name vsi-name ]
可在任意视图下执行以下命令:
· 显示Tunnel接口信息。
display interface [ tunnel [ number ] ] [ brief [ description | down ] ]
本命令的详细介绍,请参见“接口管理命令参考”中的“隧道接口”。
· 显示VXLAN关联的VXLAN-DCI隧道信息。
display vxlan tunnel [ vxlan-id vxlan-id ]
Switch B、Switch D为ED。虚拟机VM 1、VM 3属于VXLAN 10,VM 2属于VXLAN 20。通过VXLAN数据中心互联实现不同数据中心、不同VXLAN网络的互联。
具体需求为:
· 手工建立VXLAN隧道和VXLAN-DCI隧道。
· 手工关联VXLAN和VXLAN隧道、VXLAN-DCI隧道。
· 站点之间的泛洪流量采用头端复制的方式转发。
图1-3 VXLAN数据中心互联配置组网图
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 本举例中以太网服务实例所在的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
(1) 配置IP地址和单播路由协议
配置各接口的IP地址和子网掩码;在各台交换机上配置OSPF协议,确保交换机之间路由可达;配置Switch B和Switch D发布10.1.1.0/24、10.1.2.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
# 配置接口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
# 配置Tunnel1与VXLAN 10关联。
[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与VXLAN 20关联。
[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
# 在接入服务器的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 100的数据帧,并将该服务实例与VSI实例vpna关联。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] port link-type trunk
[SwitchA-HundredGigE1/0/1] port trunk permit vlan 100
[SwitchA-HundredGigE1/0/1] service-instance 1000
[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 100
[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-HundredGigE1/0/1-srv1000] quit
[SwitchA-HundredGigE1/0/1] quit
# 在接入服务器的接口HundredGigE1/0/2上创建以太网服务实例1000,该实例用来匹配VLAN 200的数据帧,并将该服务实例与VSI实例vpnb关联。
[SwitchA] interface hundredgige 1/0/2
[SwitchA-HundredGigE1/0/2] port link-type trunk
[SwitchA-HundredGigE1/0/2] port trunk permit vlan 200
[SwitchA-HundredGigE1/0/2] service-instance 1000
[SwitchA-HundredGigE1/0/2-srv1000] encapsulation s-vid 200
[SwitchA-HundredGigE1/0/2-srv1000] xconnect vsi vpnb
[SwitchA-HundredGigE1/0/2-srv1000] quit
[SwitchA-HundredGigE1/0/2] 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
# 配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchB] interface loopback 0
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchB-Loopback0] quit
# 在Switch B和Switch A之间建立VXLAN隧道:
¡ 创建模式为VXLAN的隧道接口Tunnel1。
¡ 指定隧道的源端地址为本地接口Loopback0的地址2.2.2.2。
¡ 指定隧道的目的端地址为Switch A上接口Loopback0的地址1.1.1.1。
[SwitchB] interface tunnel 1 mode vxlan
[SwitchB-Tunnel1] source 2.2.2.2
[SwitchB-Tunnel1] destination 1.1.1.1
[SwitchB-Tunnel1] quit
# 在Switch B和Switch D之间建立VXLAN-DCI隧道:
¡ 创建模式为VXLAN-DCI的隧道接口Tunnel2。
¡ 指定隧道的源端地址为本地接口Loopback0的地址2.2.2.2。
¡ 指定隧道的目的端地址为Switch D上接口Loopback0的地址3.3.3.3。
[SwitchB] interface tunnel 2 mode vxlan-dci
[SwitchB-Tunnel2] source 2.2.2.2
[SwitchB-Tunnel2] destination 3.3.3.3
[SwitchB-Tunnel2] quit
# 配置Tunnel1、Tunnel2与VXLAN 10关联。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan-10] tunnel 1
[SwitchB-vsi-vpna-vxlan-10] tunnel 2
[SwitchB-vsi-vpna-vxlan-10] quit
[SwitchB-vsi-vpna] quit
# 配置Tunnel1、Tunnel2与VXLAN 20关联。
[SwitchB] vsi vpnb
[SwitchB-vsi-vpnb] vxlan 20
[SwitchB-vsi-vpnb-vxlan-20] tunnel 1
[SwitchB-vsi-vpnb-vxlan-20] tunnel 2
[SwitchB-vsi-vpnb-vxlan-20] quit
[SwitchB-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface1,并为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vsi-interface1] distributed-gateway local
[SwitchB-Vsi-interface1] local-proxy-arp enable
[SwitchB-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface2,并为其配置IP地址,该IP地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[SwitchB] interface vsi-interface 2
[SwitchB-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[SwitchB-Vsi-interface2] distributed-gateway local
[SwitchB-Vsi-interface2] local-proxy-arp enable
[SwitchB-Vsi-interface2] quit
# 开启分布式网关的动态ARP表项同步功能。
[SwitchB] arp distributed-gateway dynamic-entry synchronize
# 为VXLAN 10所在的VSI实例vpna指定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
(4) 配置Switch D
# 开启L2VPN能力。
<SwitchD> system-view
[SwitchD] l2vpn enable
# 创建VSI实例vpna和VXLAN 10。
[SwitchD] vsi vpna
[SwitchD-vsi-vpna] vxlan 10
[SwitchD-vsi-vpna-vxlan-10] quit
[SwitchD-vsi-vpna] quit
# 创建VSI实例vpnb和VXLAN 20。
[SwitchD] vsi vpnb
[SwitchD-vsi-vpnb] vxlan 20
[SwitchD-vsi-vpnb-vxlan-20] quit
[SwitchD-vsi-vpnb] quit
# 配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchD] interface loopback 0
[SwitchD-Loopback0] ip address 3.3.3.3 255.255.255.255
[SwitchD-Loopback0] quit
# 在Switch D和Switch E之间建立VXLAN隧道:
¡ 创建模式为VXLAN的隧道接口Tunnel1。
¡ 指定隧道的源端地址为本地接口Loopback0的地址3.3.3.3。
¡ 指定隧道的目的端地址为Switch E上接口Loopback0的地址4.4.4.4。
[SwitchD] interface tunnel 1 mode vxlan
[SwitchD-Tunnel1] source 3.3.3.3
[SwitchD-Tunnel1] destination 4.4.4.4
[SwitchD-Tunnel1] quit
# 在Switch D和Switch B之间建立VXLAN-DCI隧道:
¡ 创建模式为VXLAN-DCI的隧道接口Tunnel2。
¡ 指定隧道的源端地址为本地接口Loopback0的地址3.3.3.。
¡ 指定隧道的目的端地址为Switch B上接口Loopback0的地址2.2.2.2。
[SwitchD] interface tunnel 2 mode vxlan-dci
[SwitchD-Tunnel2] source 3.3.3.3
[SwitchD-Tunnel2] destination 2.2.2.2
[SwitchD-Tunnel2] quit
# 配置Tunnel1、Tunnel2与VXLAN 10关联。
[SwitchD] vsi vpna
[SwitchD-vsi-vpna] vxlan 10
[SwitchD-vsi-vpna-vxlan-10] tunnel 1
[SwitchD-vsi-vpna-vxlan-10] tunnel 2
[SwitchD-vsi-vpna-vxlan-10] quit
[SwitchD-vsi-vpna] quit
# 配置Tunnel2与VXLAN 20关联。
[SwitchD] vsi vpnb
[SwitchD-vsi-vpnb] vxlan 20
[SwitchD-vsi-vpnb-vxlan-20] tunnel 2
[SwitchD-vsi-vpnb-vxlan-20] quit
[SwitchD-vsi-vpnb] quit
# 创建VSI虚接口VSI-interface1,并为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[SwitchD] interface vsi-interface 1
[SwitchD-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchD-Vsi-interface1] distributed-gateway local
[SwitchD-Vsi-interface1] local-proxy-arp enable
[SwitchD-Vsi-interface1] quit
# 创建VSI虚接口VSI-interface2,并为其配置IP地址,该IP地址作为VXLAN 20内虚拟机的网关地址,指定该VSI虚接口为分布式本地网关接口,并开启本地代理ARP功能。
[SwitchD] interface vsi-interface 2
[SwitchD-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[SwitchD-Vsi-interface2] distributed-gateway local
[SwitchD-Vsi-interface2] local-proxy-arp enable
[SwitchD-Vsi-interface2] quit
# 开启分布式网关的动态ARP表项同步功能。
[SwitchD] arp distributed-gateway dynamic-entry synchronize
# 为VXLAN 10所在的VSI实例vpna指定VSI虚接口VSI-interface1。
[SwitchD] vsi vpna
[SwitchD-vsi-vpna] gateway vsi-interface 1
[SwitchD-vsi-vpna] quit
# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联。
[SwitchD] vsi vpnb
[SwitchD-vsi-vpnb] gateway vsi-interface 2
[SwitchD-vsi-vpnb] quit
(5) 配置Switch E
# 开启L2VPN能力。
<SwitchE> system-view
[SwitchE] l2vpn enable
# 创建VSI实例vpna和VXLAN 10。
[SwitchE] vsi vpna
[SwitchE-vsi-vpna] vxlan 10
[SwitchE-vsi-vpna-vxlan-10] quit
[SwitchE-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作为隧道的源端地址。
[SwitchE] interface loopback 0
[SwitchE-Loopback0] ip address 4.4.4.4 255.255.255.255
[SwitchE-Loopback0] quit
# 在Switch E和Switch D之间建立VXLAN隧道:
¡ 创建模式为VXLAN的隧道接口Tunnel1。
¡ 指定隧道的源端地址为本地接口Loopback0的地址4.4.4.4。
¡ 指定隧道的目的端地址为Switch D上接口Loopback0的地址3.3.3.3。
[SwitchE] interface tunnel 1 mode vxlan
[SwitchE-Tunnel1] source 4.4.4.4
[SwitchE-Tunnel1] destination 3.3.3.3
[SwitchE-Tunnel1] quit
# 配置Tunnel1与VXLAN 10关联。
[SwitchE] vsi vpna
[SwitchE-vsi-vpna] vxlan 10
[SwitchE-vsi-vpna-vxlan-10] tunnel 1
[SwitchE-vsi-vpna-vxlan-10] quit
[SwitchE-vsi-vpna] quit
# 在接入服务器的接口HundredGigE1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 100的数据帧。
[SwitchE] interface hundredgige 1/0/1
[SwitchE-HundredGigE1/0/1] port link-type trunk
[SwitchE-HundredGigE1/0/1] port trunk permit vlan 100
[SwitchE-HundredGigE1/0/1] service-instance 1000
[SwitchE-HundredGigE1/0/1-srv1000] encapsulation s-vid 100
# 配置以太网服务实例1000与VSI实例vpna关联。
[SwitchE-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchE-HundredGigE1/0/1-srv1000] quit
[SwitchE-HundredGigE1/0/1] quit
(1) 验证ED(下文以Switch B为例,其它设备验证方法与此类似)
# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式和VXLAN-DCI模式的Tunnel接口处于up状态。
[SwitchB] 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: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 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 2.2.2.2, destination 3.3.3.3
Tunnel protocol/transport UDP_VXLAN_DCI/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
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:PKTFMT_ETHNT_2, hardware address: 0011-2200-0102
IPv6 packet frame type:PKTFMT_ETHNT_2, hardware address: 0011-2200-0102
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
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
Vsi-interface2
Current state: UP
Line protocol state: UP
Description: Vsi-interface2 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1444
Internet address: 10.1.2.1/24 (primary)
IP packet frame type:PKTFMT_ETHNT_2, hardware address: 0011-3300-0102
IPv6 packet frame type:PKTFMT_ETHNT_2, hardware address: 0011-3300-0102
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
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内创建的VXLAN,与VSI关联的VSI虚接口,以及VXLAN关联的VXLAN隧道、VXLAN-DCI隧道等信息。
[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
EVPN Encapsulation : VXLAN
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel1 0x5000001 Up Manual Disabled
Tunnel2 0x5000002 Up Manual Disabled
VSI Name: vpnb
VSI Index : 1
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 2
VXLAN ID : 20
EVPN Encapsulation : VXLAN
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
11.1.1.4 000c-29c1-5e46 -- Vlan11 19 D
10.1.1.11 0cda-41b5-cf09 vpna Tunnel1 20 D
10.1.1.12 0011-4400-0102 vpna Tunnel2 20 D
10.1.2.11 0cda-41b5-cf89 vpnb Tunnel1 20 D
(2) 验证主机
虚拟机VM 1、VM 2、VM 3之间可以互访。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!