32. Last clearing of counters: Never
Tunnel source 1.1.1.1, destination 2.2.2.2
Tunnel protocol/transport UDP_VXLAN/IP
# 查看 Switch A 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、
与 VSI 关联的以太网服务实例等信息。
[SwitchA] display l2vpn vsi verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 Up Manual
Tunnel2 0x5000002 Up Manual
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
<SwitchA> display l2vpn mac-address
MAC Address State VSI Name Link ID/Name Aging
cc3e-5f9c-6cdb dynamic vpna Tunnel1 Aging
cc3e-5f9c-23dc dynamic vpna Tunnel2 Aging
--- 2 mac address(es) found ---
(2) 验证主机
虚拟机 VM 1、VM 2、VM 3 之间可以互访。
2.15.2 VXLAN核心复制配置举例
1. 组网需求
Switch A、Switch B、Switch C 为与服务器连接的 VTEP 设备。虚拟机 VM 1、VM 2 和 VM 3 同属
于 VXLAN 10。通过 VXLAN 实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户
的访问流量不会中断。
具体需求为:
• 不同 VTEP 之间手工建立 VXLAN 隧道。
• 手工关联 VXLAN 和 VXLAN 隧道。
• 通过源 MAC 地址动态学习远端 MAC 地址表项。
2-14
33. • 站点之间的泛洪流量采用核心复制的方式转发。
2. 组网图
图2-2 VXLAN 核心复制组网图
设备 接口 IP地址 设备 接口 IP地址
Switch A Vlan-int11 11.1.1.1/24 Switch C Vlan-int13 13.1.1.3/24
Switch D Vlan-int11 11.1.1.4/24 Switch E Vlan-int13 13.1.1.5/24
Vlan-int21 21.1.1.4/24 Vlan-int23 23.1.1.5/24
Switch F Vlan-int21 21.1.1.6/24 Switch G Vlan-int12 12.1.1.7/24
Vlan-int22 22.1.1.6/24 Vlan-int22 22.1.1.7/24
Vlan-int23 23.1.1.6/24 Switch B Vlan-int12 12.1.1.2/24
Loop0 6.6.6.6/32
3. 配置步骤
(1) 配置 IP 地址和单播路由协议
请按照图 2-2配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
(2) 配置 Switch A
# 开启 L2VPN 能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置 VXLAN 隧道工作在二层转发模式。
[SwitchA] undo vxlan ip-forwarding
# 使能 IP 组播路由。
[SwitchA] multicast routing
[SwitchA-mrib] quit
# 创建 VSI 实例 vpna 和 VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan10] quit
2-15
38. [SwitchF-Vlan-interface21] quit
[SwitchF] interface vlan-interface 22
[SwitchF-Vlan-interface22] pim sm
[SwitchF-Vlan-interface22] quit
[SwitchF] interface vlan-interface 23
[SwitchF-Vlan-interface23] pim sm
[SwitchF-Vlan-interface23] quit
(8) 配置 Switch G
# 使能 IP 组播路由。
<SwitchG> system-view
[SwitchG] multicast routing
[SwitchG-mrib] quit
# 在接口 Vlan-interface12 上使能 IGMP 和 PIM-SM。
[SwitchG] interface vlan-interface 12
[SwitchG-Vlan-interface12] igmp enable
[SwitchG-Vlan-interface12] pim sm
[SwitchG-Vlan-interface12] quit
# 在接口 Vlan-interface22 上使能 PIM-SM。
[SwitchG] interface vlan-interface 22
[SwitchG-Vlan-interface22] pim sm
[SwitchG-Vlan-interface22] quit
4. 验证配置
(1) 验证 VTEP 设备(下文以 Switch A 为例,其它设备验证方法与此类似)
# 查看 Switch A 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchA] display interface tunnel 1
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 11.1.1.1, destination 12.1.1.2
Tunnel protocol/transport UDP_VXLAN/IP
# 查看 Switch A 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、
与 VSI 关联的以太网服务实例等信息。
[SwitchA] display l2vpn vsi verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
2-20
39. 2-21
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 Up Manual
Tunnel2 0x5000002 Up Manual
MTunnel0 0x6000000 Up Auto
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
<SwitchA> display l2vpn mac-address
MAC Address State VSI Name Link ID/Name Aging
cc3e-5f9c-6cdb dynamic vpna Tunnel1 Aging
cc3e-5f9c-23dc dynamic vpna Tunnel2 Aging
--- 2 mac address(es) found ---
# 查看 Switch A 上 IGMP 执行主机行为的所有组播组信息,可以看到接口 Vlan-interface11 下存在
组播组 225.1.1.1 的信息。
<SwitchA> display igmp host group
IGMP host groups in total: 1
Vlan-interface11(11.1.1.1):
IGMP host groups in total: 1
Group address Member state Expires
225.1.1.1 Idle Off
(2) 验证主机
虚拟机 VM 1、VM 2、VM 3 之间可以互访。
47. [SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] vxlan 10003
[SwitchC-vsi-vpnb-vxlan10003] quit
[SwitchC-vsi-vpnb] quit
# 配置接口 Loopback0 的 IP 地址,作为隧道的源端地址。
[SwitchC] interface loopback0
[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255
[SwitchC-Loopback0] quit
# 创建模式为 NVE 的隧道接口 Tunnel0,指定源端地址为 3.3.3.3,Network ID 为 1,并开启 ENDC
功能,指定 ENDS 为 1.1.1.1。
[SwitchC] interface tunnel 0 mode nve
[SwitchC-Tunnel0] source 3.3.3.3
[SwitchC-Tunnel0] network-id 1
[SwitchC-Tunnel0] vxlan neighbor-discovery client enable 1.1.1.1
[SwitchC-Tunnel0] quit
# 创建 VLAN 4~VLAN 5,配置端口 FortyGigE1/0/1 允许 VLAN 4~VLAN 5 的报文通过。
[SwitchC] vlan 4 to 5
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-type trunk
[SwitchC-FortyGigE1/0/1] port trunk permit vlan 4 to 5
# 在接入服务器的接口 FortyGigE1/0/1 上创建以太网服务实例 1000,该实例用来匹配 VLAN 4 的数
据帧,并将其与 VSI 实例 vpna 关联。
[SwitchC-FortyGigE1/0/1] service-instance 1000
[SwitchC-FortyGigE1/0/1-srv1000] encapsulation s-vid 4
[SwitchC-FortyGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-FortyGigE1/0/1-srv1000] quit
# 在接口 FortyGigE1/0/1 上创建以太网服务实例 2000,该实例用来匹配 VLAN 5 的数据帧,并将其
与 VSI 实例 vpnb 关联。
[SwitchC-FortyGigE1/0/1] service-instance 2000
[SwitchC-FortyGigE1/0/1-srv2000] encapsulation s-vid 5
[SwitchC-FortyGigE1/0/1-srv2000] xconnect vsi vpnb
[SwitchC-FortyGigE1/0/1-srv2000] quit
[SwitchC-FortyGigE1/0/1] quit
# 启动 VXLAN IS-IS 进程,开启 VXLAN IS-IS 的 VXLAN 隧道自动协商和 MAC 地址同步功能。
[SwitchC] vxlan-isis
[SwitchC-vxlan-isis] negotiate-vni enable
[SwitchC-vxlan-isis] mac-synchronization enable
[SwitchC-vxlan-isis] quit
4. 验证配置
(1) 验证 VTEP 设备(下文以 Switch A 为例,其它设备验证方法与此类似)
# 查看 Switch A 上的 ENDS 信息,可以看到邻居个数和详细信息。
[SwitchA] display vxlan neighbor-discovery server summary
Interface Local Address Network ID Auth Members
Tunnel0 1.1.1.1 1 enabled 3
[SwitchA] display vxlan neighbor-discovery server member
3-8
48. Interface: Tunnel0 Network ID: 1
IP Address: 1.1.1.1
Client Address System ID Expire Created Time
2.2.2.2 000F-0001-0001 25 2011/01/01 00:00:43
3.3.3.3 000F-0001-0002 24 2011/01/01 01:00:46
# 查看 Switch A 上的 ENDC 信息,可以看到邻居状态为 Up。
[SwitchA] display vxlan neighbor-discovery client member
Interface: Tunnel0 Network ID: 1
Local Address: 1.1.1.1
Server Address: 1.1.1.1
Neighbor System ID Created Time Expire Status
2.2.2.2 000F-0001-0001 2014/01/01 12:12:12 13 Up
3.3.3.3 000F-0001-0002 2014/01/01 12:12:12 12 Up
# 查看 Switch A 上的 Tunnel 接口信息,可以看到 NVE 和 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchA] display interface tunnel
Tunnel 0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
Internet protocol processing: Disabled
Tunnel source 1.1.1.1
Network ID 1
Tunnel protocol/transport NVE/IP
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
Tunnel 1
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
Tunnel 2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
3-9
49. 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
# 查看 Switch A 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、
与 VSI 关联的以太网服务实例等信息。
[SwitchA] display l2vpn vsi verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10000
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
VSI Name: vpnb
VSI Index : 1
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10001
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv2000 0 Up
VSI Name: vpnc
VSI Index : 2
VSI State : Up
3-10
50. MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10002
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv3000 0 Up
VSI Name: vpnd
VSI Index : 3
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10003
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv4000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display l2vpn mac-address
MAC Address State VSI Name Link ID/Name Aging
cc3e-5f9c-6cdb static vpna Tunnel1 Aging
cc3e-5f9c-23dc static vpnc Tunnel2 Aging
--- 1 mac address(es) found ---
# 查看 Switch A 上邻居状态信息,可以看到已经和 Switch B、Switch C 建立邻居。
[SwitchA] display vxlan isis peer
System ID: 4431.9234.2602
Link interface: Tunnel1
Circuit ID: 4431.9234.2602.0001
State: Up
Hold time: 8s
3-11
51. Neighbour DED priority: 64
Uptime: 47:48:34
System ID: 4431.9234.1f68
Link interface: Tunnel2
Circuit ID: 4431.9234.1f68.0000
State: Up
Hold time: 27s
Neighbour DED priority: 64
Uptime: 47:50:30
# 查看 Switch A 上链路状态信息,可以看到链路状态正常。
[SwitchA] display vxlan isis lsdb
Link state database information for VXLAN ISIS (Tunnel 1)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2602.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2602.0001-00* 0x000000c1 0x73ca 658 57 0
Link state database information for VXLAN ISIS (Tunnel 2)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2613.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2613.0002-00* 0x000000c1 0x73ca 658 57 0
Flags: *-Self LSP, +-Self LSP(Extended)
# 查看 Switch A 上 VXLAN IS-IS 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display vxlan isis remote-mac
MAC Flags: D-MAC conflict with local dynamic MAC.
F-MAC has been issued to the remote MAC address table.
S-MAC conflict with local static or selective-flooding MAC.
A-Tunnel interface can forward traffic to the MAC.
VXLAN ID: 10000
MAC address: cc3e-5f9c-6cdb
Interface: Tunnel1
Flags: AF
VXLAN ID: 10002
MAC address: cc3e-5f9c-23dc
Interface: Tunnel2
Flags: AF
# 查看 Switch A 上 VXLAN IS-IS 的远端 VXLAN 信息,可以看到已学习到的 VXLAN 信息。
[SwitchA] display vxlan isis remote-vxlan
VXLAN Flags: S-VXLAN supported at the local end
F-Association between VXLAN and Tunnels has been flushed to L2VPN
VXLAN ID: 10000
Flags: FS
3-12
52. 3-13
Tunnel: 1
VXLAN ID: 10001
Flags: FS
Tunnel: 1
VXLAN ID: 10002
Flags: FS
Tunnel: 2
VXLAN ID: 10003
Flags: FS
Tunnel: 2
(2) 验证主机
VM 1 和 VM 5、VM 2 和 VM 6、VM 3 和 VM 7、VM 4 和 VM 8 可以互访,其他 VM 之间不能互访。
64. 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
Tunnel 2
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
# 查看 Switch A 上的 VSI 信息,可以看到 VSI 内创建的 VXLAN、与 VXLAN 关联的 VXLAN 隧道、
与 VSI 关联的以太网服务实例等信息。
[SwitchA] display l2vpn vsi verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10000
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
VSI Name: vpnb
VSI Index : 1
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
4-12
65. Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10001
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv2000 0 Up
VSI Name: vpnc
VSI Index : 2
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10002
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
ACs:
AC Link ID State
FGE1/0/1 srv3000 0 Up
VSI Name: vpnd
VSI Index : 3
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
VXLAN ID : 10003
Tunnels:
Tunnel Name Link ID State Type
Tunnel2 0x5000002 UP Auto
4-13
66. ACs:
AC Link ID State
FGE1/0/1 srv4000 0 Up
# 查看 Switch A 上 VSI 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display l2vpn mac-address
MAC Address State VSI Name Link ID/Name Aging
cc3e-5f9c-6cdb static vpna Tunnel1 Aging
cc3e-5f9c-23dc static vpnc Tunnel2 Aging
--- 1 mac address(es) found ---
# 查看 Switch A 上邻居状态信息,可以看到已经和 Switch B、Switch C 建立邻居。
[SwitchA] display vxlan isis peer
System ID: 4431.9234.2602
Link interface: Tunnel1
Circuit ID: 4431.9234.2602.0001
State: Up
Hold time: 8s
Neighbour DED priority: 64
Uptime: 47:48:34
System ID: 4431.9234.1f68
Link interface: Tunnel2
Circuit ID: 4431.9234.1f68.0000
State: Up
Hold time: 27s
Neighbour DED priority: 64
Uptime: 47:50:30
# 查看 Switch A 上链路状态信息,可以看到链路状态正常。
[SwitchA] display vxlan isis lsdb
Link state database information for VXLAN ISIS (Tunnel 1)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2602.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2602.0001-00* 0x000000c1 0x73ca 658 57 0
Link state database information for VXLAN ISIS (Tunnel 2)
LSP ID Seq num Checksum Holdtime Length Overload
-----------------------------------------------------------------------------
4431.9234.1f68.0000-00 0x000000c2 0xdc02 656 59 0
4431.9234.2613.0000-00* 0x000000c3 0xd136 326 70 0
4431.9234.2613.0002-00* 0x000000c1 0x73ca 658 57 0
Flags: *-Self LSP, +-Self LSP(Extended)
# 查看 Switch A 上 VXLAN IS-IS 的 MAC 地址表项信息,可以看到已学习到的 MAC 地址信息。
[SwitchA] display vxlan isis remote-mac
MAC Flags: D-MAC conflict with local dynamic MAC.
4-14
67. 4-15
F-MAC has been issued to the remote MAC address table.
S-MAC conflict with local static or selective-flooding MAC.
A-Tunnel interface can forward traffic to the MAC.
VXLAN ID: 10000
MAC address: cc3e-5f9c-6cdb
Interface: Tunnel1
Flags: AF
VXLAN ID: 10002
MAC address: cc3e-5f9c-23dc
Interface: Tunnel2
Flags: AF
# 查看 Switch A 上 VXLAN IS-IS 的远端 VXLAN 信息,可以看到已学习到的 VXLAN 信息。
[SwitchA] display vxlan isis remote-vxlan
VXLAN Flags: S-VXLAN supported at the local end
F-Association between VXLAN and Tunnels has been flushed to L2VPN
VXLAN ID: 10000
Flags: FS
Tunnel: 1
VXLAN ID: 10001
Flags: FS
Tunnel: 1
VXLAN ID: 10002
Flags: FS
Tunnel: 2
VXLAN ID: 10003
Flags: FS
Tunnel: 2
(2) 验证主机
VM 1 和 VM 5、VM 2 和 VM 6、VM 3 和 VM 7、VM 4 和 VM 8 可以互访,其他 VM 之间不能互访。
68. 5 VXLAN IP网关
5.1 VXLAN IP网关简介
网关部署在 VTEP 设备上时,又分为集中式 VXLAN IP 网关和分布
方式。
5.1.1
VXLAN 可以为分散的物理站点提供二层互联。如果要为 VXLAN 站点内的虚拟机提供三层业务,则
需要在网络中部署 VXLAN IP 网关,以便站点内的虚拟机通过 VXLAN IP 网关与外界网络或其他
VXLAN 网络内的虚拟机进行三层通信。VXLAN IP 网关既可以部署在独立的物理设备上,也可以部
署在 VTEP 设备上。VXLAN IP
式 VXLAN IP 网关两种
独立的VXLAN IP网关
图5-1 独立的 VXLAN IP 网关示意图
如图 5-1所示,VXLAN IP网关部署在独立的物理设备上时,VXLAN IP网关作为物理站点接入VTEP,
VXLAN业务对于网关设备透明。虚拟机通过VXLAN IP网关与三层网络中的节点通信时,虚拟机将
三层报文封装成二层数据帧发送给VXLAN IP网关。VTEP对该数据帧进行VXLAN封装,并在IP核心
网络上将其转发给远端VTEP(连接VXLAN IP网关的VTEP)。远端VTEP对VXLAN报文进行解封装,
并将原始的二层数据帧转发给VXLAN IP网关。VXLAN IP网关去掉链路层封装后,对报文进行三层
转发。
5-1
71. 5.1.3 分布式VXLAN IP网关
1. 简介
图5-4 分布式 VXLAN IP 网关示意图
VXLAN tunnel
VXLAN tunnel
VTEP/
VXLAN IP
GW
VTEP
Server
Site 1
L3 network
VXLAN tunnel VXLAN tunnel
Server
Site 2
Server
Site 3
Server
Site 4
Server
Site 5
Server
Site 6
VTEP/
VXLAN IP
GW
VTEP/
VXLAN IP
GW
VTEP/
Border
采用集中式VXLAN IP网关方案时,不同VXLAN之间的流量以及VXLAN访问外界网络的流量全部由
集中式VXLAN IP网关处理,网关压力较大,并加剧了网络带宽资源的消耗。如图 5-4所示,在分布
式VXLAN IP网关方案中,每台VTEP设备都可以作为VXLAN IP网关,对本地站点的流量进行三层
转发,很好地缓解了网关的压力。
5-4
72. 图5-5 分布式 VXLAN IP 网关部署示意图
如图 5-5所示,在分布式VXLAN IP网关组网中,所有的分布式VXLAN IP网关(GW)上都需要创建
VSI虚接口,并在虚接口上配置相同的IP地址,作为VXLAN内虚拟机的网关地址。在分布式VXLAN
IP网关上还需要使能本地代理ARP功能。边界网关(Border)上也需要创建VSI虚接口,并配置IP
地址。
采用分布式 VXLAN IP 网关组网方案时,流量都通过查找 ARP 表项进行三层转发。
2. 相同VXLAN内不同站点的虚拟机通信过程
如图 5-5所示,以VM 1 访问VM 4 为例,相同VXLAN内不同站点的虚拟机的通信过程为:
(1) VM 1 广播发送 ARP 请求消息,获取 VM 4 的 MAC 地址。
(2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并代理应答该 ARP 请求,即:向 VM
1 发送 ARP 应答消息,应答的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。
(3) VM 1 学习到 VM 4 的 MAC 地址为 GW 1 上 VSI 虚接口 10 的 MAC 地址。
(4) GW 1 将接收到的 ARP 请求消息中的源 MAC 地址修改为 VSI 虚接口 10 的 MAC 地址,对该
消息进行 VXLAN 封装后,将其发送给 VXLAN 内的所有远端 VTEP。
(5) GW 2 对 VXLAN 报文进行解封装后,学习 VM 1 的 ARP 信息(IP 为 10.1.1.11、MAC 为 GW
1 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel 接口),并将 ARP 请求
消息中的源 MAC 修改为本地 VSI 虚接口 10 的 MAC 地址,在 VXLAN 10 的本地站点内进行
广播。
(6) VM 4 收到 ARP 请求后,学习 VM 1 的 ARP 信息(IP 为 10.1.1.11、MAC 为 GW 2 上 VSI 虚
接口 10 的 MAC),并发送 ARP 应答消息给本地网关 GW 2。
5-5
73. (7) GW 2 从 VM 4 收到 ARP 应答消息后,学习 VM 4 的 ARP 信息,将 ARP 应答消息中的源 MAC
修改为本地 VSI 虚接口 10 的 MAC 地址,并根据已经学习到的 ARP 表项,为 ARP 应答消息
添加 VXLAN 封装后发送给 GW 1。
(8) GW 1 对 VXLAN 报文进行解封装后,根据收到的 ARP 应答消息学习 VM 4 的 ARP 信息(IP
为 10.1.1.12、MAC 为 GW 2 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel
接口)。
(9) 通过上述步骤完成 ARP 信息的学习后,VM 1 发送给 VM 4 的报文,根据已经学习到的 ARP
信息进行转发:首先发送给 GW 1;GW 1 对其进行 VXLAN 封装后,将其发送给 GW 2;GW
2 解封装后,将其发送给 VM 4。
3. 不同VXLAN间不同站点的虚拟机通信过程
如图 5-5所示,以VM 1 访问VM 5 为例,不同VXLAN的虚拟机的通信过程为:
(1) VM 1 广播发送 ARP 请求消息,获取网关 10.1.1.1 的 MAC 地址。
(2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并向 VM 1 发送 ARP 应答消息,应答
的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。
(3) VM 1 将访问 VM 5 的报文发送给 GW 1。
(4) GW 1 在所有 VXLAN 内向本地站点和远端站点广播发送 ARP 请求,获取 VM 5 的 MAC 地址。
(5) GW 2 从 VXLAN 隧道上接收到 VXLAN 报文后,对其进行解封装后,学习 GW 1 的 ARP 信息
(IP 为 10.1.1.1、MAC 为 GW 1 上 VSI 虚接口 10 的 MAC、出接口为接收该 VXLAN 报文的
Tunnel 接口),并将 ARP 请求消息中的源 MAC 修改为本地 VSI 虚接口 20 的 MAC 地址,在
VXLAN 20 的本地站点内广播该 ARP 请求消息。
(6) VM 5 收到 ARP 请求后,学习 GW 2 的 ARP 信息(IP 为 20.1.1.1、MAC 为 GW 2 上 VSI 虚
接口 20 的 MAC),并发送 ARP 应答消息给本地网关 GW 2。
(7) GW 2 从 VM 5 收到 ARP 应答消息后,学习 VM 5 的 ARP 信息,将 ARP 应答消息中的源 MAC
修改为本地 VSI 虚接口 20 的 MAC 地址,并根据已经学习到的 ARP 表项,为 ARP 应答消息
添加 VXLAN 封装后发送给 GW 1。
(8) GW 1 对 VXLAN 报文进行解封装后,根据收到的 ARP 应答消息学习 VM 5 的 ARP 信息(IP
为 20.1.1.12、MAC 为 GW 2 上 VSI 虚接口 20 的 MAC、出接口为接收该 VXLAN 报文的 Tunnel
接口)。
(9) 通过上述步骤完成 ARP 信息的学习后,VM 1 发送给 VM 5 的报文,根据已经学习到的 ARP
信息进行转发:首先发送给 GW 1;GW 1 对其进行 VXLAN 封装后,将其发送给 GW 2;GW
2 解封装后,将其发送给 VM 5。
4. 虚拟机与外部网络的三层通信过程
虚拟机要想与外部网络进行三层通信,需要在本地分布式 VXLAN IP 网关上配置缺省路由,指定路
由下一跳为 Border 上任意一个 VXLAN 对应 VSI 虚接口的 IP 地址。
如图 5-5所示,以VM 1 访问外部网络内的主机 50.1.1.1 为例,虚拟机访问外部网络的三层通信过程
为:
(1) VM 1 广播发送 ARP 请求消息,获取网关 10.1.1.1 的 MAC 地址。
(2) GW 1 收到 ARP 请求消息后,学习 VM 1 的 ARP 信息,并向 VM 1 发送 ARP 应答消息,应答
的 MAC 地址为 VSI 虚接口 10 的 MAC 地址。
(3) VM 1 将访问外部网络的报文发送给 GW 1。
5-6
87. [SwitchC] interface vsi-interface 1
[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchC-Vsi-interface1] distributed-gateway local
[SwitchC-Vsi-interface1] local-proxy-arp enable
[SwitchC-Vsi-interface1] quit
# 配置 VXLAN 10 所在的 VSI 实例和接口 VSI-interface1 关联。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] gateway vsi-interface 1
[SwitchC-vsi-vpna] quit
# 创建 VSI 虚接口 VSI-interface2,并为其配置 IP 地址,该 IP 地址作为 VXLAN 30 内虚拟机的网
关地址,指定该 VSI 虚接口为分布式本地网关接口,并使能本地代理 ARP 功能。
[SwitchC] interface vsi-interface 2
[SwitchC-Vsi-interface2] ip address 20.1.1.1 255.255.255.0
[SwitchC-Vsi-interface2] distributed-gateway local
[SwitchC-Vsi-interface2] local-proxy-arp enable
[SwitchC-Vsi-interface2] quit
# 配置 VXLAN 30 所在的 VSI 实例和接口 VSI-interface2 关联。
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] gateway vsi-interface 2
[SwitchC-vsi-vpnb] quit
# 配置缺省路由,指定 IPv4 报文如果没有找到匹配的路由表项,则设置报文的下一跳为 Switch B
上接口 VSI-interface1 的 IP 地址 10.1.1.2。
[SwitchC] ip route-static 0.0.0.0 0 vsi-interface 1 10.1.1.2
4. 验证配置
(1) 验证分布式 VXLAN IP 网关设备 Switch A
# 查看 Switch A 上的 Tunnel 接口信息,可以看到 VXLAN 模式的 Tunnel 接口处于 up 状态。
[SwitchA] display interface tunnel 2
Tunnel2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 64000
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 1.1.1.1, destination 3.3.3.3
Tunnel protocol/transport UDP_VXLAN/IP
# 查看 Switch A 上的 VSI 虚接口信息,可以看到 VSI 虚接口处于 up 状态。
[SwitchA] display interface Vsi-interface
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 10.1.1.1/24 Primary
5-20
88. 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: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 20.1.1.1/24 Primary
IP Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0103
IPv6 Packet Frame Type:PKTFMT_ETHNT_2, Hardware Address: 0011-2200-0103
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 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 : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
Gateway Interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 Up Manual
Tunnel2 0x5000002 Up Manual
ACs:
AC Link ID State
FGE1/0/1 srv1000 0 Up
5-21
89. # 查看 Switch A 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。
[SwitchA] display arp
Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid
IP address MAC address VLAN Interface Aging Type
11.1.1.4 000c-29c1-5e46 N/A Vlan11 19 D
10.1.1.2 0003-0000-0000 N/A Vsi1 20 D
10.1.1.11 0cda-41b5-cf09 N/A Vsi1 20 D
20.1.1.12 0000-fc00-0b01 N/A Vsi2 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
# 查看 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: 1000000kbps
Maximum transmission unit: 1500
Internet Address is 10.1.1.2/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
# 查看 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 : 1500
Bandwidth : -
Broadcast Restrain : -
5-22
90. 5-23
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
Flooding : Enabled
Gateway interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type
Tunnel1 0x5000001 Up Manual
# 查看 Switch B 上 VSI 的 ARP 表项信息,可以看到已学习到了虚拟机的 ARP 信息。
[SwitchB] display arp
Type: S-Static D-Dynamic O-Openflow M-Multiport I-Invalid
IP address MAC address VLAN Interface Aging Type
12.1.1.4 0000-fc00-00ab N/A Vlan12 14 D
25.1.1.5 4431-9234-24bb N/A Vlan20 17 D
10.1.1.1 0000-fc00-00ab N/A Vsi1 17 D
10.1.1.11 0000-fc00-00ab N/A Vsi1 20 D
20.1.1.1 0000-fc00-00aa N/A Vsi3 17 D
20.1.1.12 0000-fc00-00aa N/A Vsi3 20 D
# 查看 Switch B 上 FIB 表项信息,可以看到已学习到了虚拟机的转发表项信息。
[SwitchB] display fib 10.1.1.11
Destination count: 1 FIB entry count: 1
Flag:
U:Useable 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:Useable 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 Vsi1 Null
(3) 验证主机和广域网互访
虚拟机 VM 1、VM 3 之间可以互访;VM 1 和 VM 3 可以与 Switch E 上接口 Vlan-interface20 的地
址 25.1.1.5 之间互访。