2024年3月21日发(作者:)

1. 组网需求

Switch B、Switch D为ED。虚拟机VM 1、VM 3属于VXLAN 10,VM 2属于

VXLAN 20。通过VXLAN数据中心互联实现不同数据中心、不同VXLAN网络的互联。

具体需求为:

·手工建立VXLAN隧道和VXLAN-DCI隧道。

·手工关联VXLAN和VXLAN隧道、VXLAN-DCI隧道。

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

2. 组网

3. 配置步骤

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

请按照以上拓扑图配置各接口的IP地址和子网掩码;在各台交换机上配置OSPF协

议,确保交换机之间路由可达;配置Switch B和Switch D发布10.1.1.0/24、10.1.2.0/

24网段的路由。(具体配置过程略)

(2) 配置Switch A

# 开启L2VPN能力。

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

# 在接入服务器的接口Ten-GigabitEthernet1/0/1上创建以太网服务实例1000,

该实例用来匹配VLAN 100的数据帧,并将该服务实例与VSI实例vpna关联。

[SwitchA] interface ten-gigabitethernet 1/0/1

[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100

[SwitchA-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 100

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet1/0/1] quit

# 在接入服务器的接口Ten-GigabitEthernet1/0/2上创建以太网服务实例1000,

该实例用来匹配VLAN 200的数据帧,并将该服务实例与VSI实例vpnb关联。

[SwitchA] interface ten-gigabitethernet 1/0/2

[SwitchA-Ten-GigabitEthernet1/0/2] port link-type trunk

[SwitchA-Ten-GigabitEthernet1/0/2] port trunk permit vlan 200

[SwitchA-Ten-GigabitEthernet1/0/2] service-instance 1000

[SwitchA-Ten-GigabitEthernet1/0/2-srv1000] encapsulation s-vid 200

[SwitchA-Ten-GigabitEthernet1/0/2-srv1000] xconnect vsi vpnb

[SwitchA-Ten-GigabitEthernet1/0/2-srv1000] quit

[SwitchA-Ten-GigabitEthernet1/0/2] quit

(3) 配置Switch B

# 开启L2VPN能力。

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能力。

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能力。

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

# 在接入服务器的接口Ten-GigabitEthernet1/0/1上创建以太网服务实例1000,

该实例用来匹配VLAN 100的数据帧。

[SwitchA] interface ten-gigabitethernet 1/0/1

[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100

[SwitchA-Ten-GigabitEthernet1/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 100

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

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet1/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet1/0/1] quit

4. 验证配置

(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: 1464

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: 1464

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: 1500

Internet address: 10.1.1.1/24 (primary)

IP packet frame typeKTFMT_ETHNT_2, hardware address: 0011-2200-0102

IPv6 packet frame typeKTFMT_ETHNT_2, hardware address: 0011-2200-010

2

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: 1500

Internet address: 10.1.2.1/24 (primary)

IP packet frame typeKTFMT_ETHNT_2, hardware address: 0011-3300-0102

IPv6 packet frame typeKTFMT_ETHNT_2, hardware address: 0011-3300-010

2

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关联的VS

I虚接口,以及VXLAN关联的VXLAN隧道、VXLAN-DCI隧道等信息。

[SwitchB] 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 : -

MAC Learning rate : -

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

VSI Name: vpnb

proxy

Flood

Disabled

Disabled

VSI Index : 0

VSI State : Up

MTU : 1500

Bandwidth : -

Broadcast Restrain : -

Multicast Restrain : -

Unknown Unicast Restrain: -

MAC Learning : Enabled

MAC Table Limit : -

MAC Learning rate : -

Drop Unknown : -

Flooding : Enabled

Gateway interface : VSI-interface 2

VXLAN ID : 20

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 M-Multiport I-Invalid

IP address MAC address VLAN/VSI Interface/Link ID Aging Typ

e

11.1.1.4 000c-29c1-5e46 N/A Vlan11 19 D

10.1.1.11 0cda-41b5-cf09 0 Tunnel1 20 D

10.1.1.12 0011-4400-0102 0 Tunnel2 20 D

10.1.2.11 0cda-41b5-cf89 1 Tunnel1 20 D

(2) 验证主机

虚拟机VM 1、VM 2、VM 3之间可以互访。