Skip to content

Vxlan没有灵魂的H3C实例

没有灵魂是因为实验资源有限所以只能做到点对点手工配置vxlan,没有控制器,也没有控制平面,网络中仅有两个VTEP。

补充一个名词解释

VSI(Virtual Switch Instance,虚拟交换实例):VTEP上为一个vxlan提供二层服务的虚拟交换实例。VSI可以看作是VTEP上的一台专为对应vxlan进行二层转发的虚拟交换机。VSI与vxlan一一对应。

###测试环境 vxlan 拓扑大概长这样。 VTEP1:100.64.0.1/30 VTEP2:100.64.0.2/30 VPC1:10.0.0.101/24 VPC2:10.0.0.102/24 VTEP设备是H3C的VSR1000,型号为:VSR1000_H3C-CMW710-R0621P18-X64

配置左边的VTEP

# 开启L2VPN。
<VTEP1> system-view
[VTEP1] l2vpn enable
# 创建VSI实例vsi1和VXLAN 100。
[VTEP1] vsi vsi1
[VTEP1-vsi-vsi1] vxlan 100
[VTEP1-vsi-vsi1-vxlan-100] quit
[VTEP1-vsi-vsi1] quit
# 配置接口GigabitEthernet1/0的IP地址,作为隧道的源端地址。
[VTEP1] interface gigabitethernet 1/0
[VTEP1-GigabitEthernet1/0] ip address 100.64.0.1 30
[VTEP1-GigabitEthernet1/0] quit
# 在VTEP1和VTEP2之间建立VXLAN隧道:
# 创建模式为VXLAN的隧道接口Tunnel101
# 指定隧道的源地址为100.64.0.1
# 指定隧道的目的端地址为VTEP2上的地址100.64.0.2。
[VTEP1] interface tunnel 101 mode vxlan
[VTEP1-Tunnel101] source 100.64.0.1
[VTEP1-Tunnel101] destination 100.64.0.2
[VTEP1-Tunnel101] quit
# 配置Tunnel1与VXLAN 100关联。
[VTEP1] vsi vsi1
[VTEP1-vsi-vsi1] vxlan 100
[VTEP1-vsi-vsi1-vxlan-100] tunnel 101
[VTEP1-vsi-vsi1-vxlan-100] quit
[VTEP1-vsi-vsi1] quit
# 在接入服务器的接口GigabitEthernet2/0上关联VSI实例vsi1。
[VTEP1] interface gigabitethernet 2/0
[VTEP1-GigabitEthernet2/0] xconnect vsi vsi1
[VTEP1-GigabitEthernet2/0] quit

配置右边VTEP

# 开启L2VPN。
<VTEP2> system-view
[VTEP2] l2vpn enable
# 创建VSI实例vsi1和VXLAN 100。
[VTEP2] vsi vsi1
[VTEP2-vsi-vsi1] vxlan 100
[VTEP2-vsi-vsi1-vxlan-100] quit
[VTEP2-vsi-vsi1] quit
# 配置接口GigabitEthernet1/0的IP地址,作为隧道的源端地址。
[VTEP2] interface gigabitethernet 1/0
[VTEP2-GigabitEthernet1/0] ip address 100.64.0.2 30
[VTEP2-GigabitEthernet1/0] quit
# 在VTEP2和VTEP2之间建立VXLAN隧道:
# 创建模式为VXLAN的隧道接口Tunnel101
# 指定隧道的源地址为100.64.0.2
# 指定隧道的目的端地址为VTEP2上的地址100.64.0.1。
[VTEP2] interface tunnel 101 mode vxlan
[VTEP2-Tunnel101] source 100.64.0.2
[VTEP2-Tunnel101] destination 100.64.0.1
[VTEP2-Tunnel101] quit
# 配置Tunnel1与VXLAN 100关联。
[VTEP2] vsi vsi1
[VTEP2-vsi-vsi1] vxlan 100
[VTEP2-vsi-vsi1-vxlan-100] tunnel 101
[VTEP2-vsi-vsi1-vxlan-100] quit
[VTEP2-vsi-vsi1] quit
# 在接入服务器的接口GigabitEthernet2/0上关联VSI实例vsi1。
[VTEP2] interface gigabitethernet 2/0
[VTEP2-GigabitEthernet2/0] xconnect vsi vsi1
[VTEP2-GigabitEthernet2/0] quit

其实两边配置几乎一样的。此时vxlan隧道已经配置好了,可以在设备上查询到相关信息。

# 查看VTEP1上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
<VTEP1>display interface Tunnel 101
Tunnel101
Current state: UP
Line protocol state: UP
Description: 100.64.0.2
Bandwidth: 64 kbps
Maximum transmission unit: 1464
Internet protocol processing: Disabled
Output queue - Urgent queuing: Size/Length/Discards 0/100/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Tunnel source 100.64.0.1, destination 100.64.0.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: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 29 packets, 2604 bytes, 0 drops
Output: 32 packets, 2796 bytes, 0 drops
# 查看VTEP1上的VSI信息,可以看到VSI内创建的VXLAN、关联的VXLAN隧道、关联的接口等信息。
<VTEP1>display l2vpn vsi verbose 
VSI Name: vsi1
  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
  Statistics              : Disabled
  VXLAN ID                : 100
  Tunnels:
    Tunnel Name          Link ID    State    Type        Flood proxy
    Tunnel101            0x5000065  UP       Manual      Disabled
  ACs:
    AC                               Link ID    State   
    GE2/0                            0          Up      
# 查看VTEP1上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。
<VTEP1>display l2vpn mac-address 
MAC Address      State    VSI Name                        Link ID/Name  Aging   
0050-7966-6803   Dynamic  vsi1                            0             Aging   
0050-7966-6804   Dynamic  vsi1                            Tunnel101     Aging   
--- 2 mac address(es) found  ---

抓包看看

从VPC1 ping VPC2 VTEP1的G2/0接口vxlan101 二层三层的源地址和目的地址都没什么问题,很标准的在同一广播域传输的数据包样子。 VTEP1的G1/0接口vxlan102 此时原来的数据包被加上了vxlan的头部,然后封装在udp包中传输,二层三层的源地址目的地址变成了VTEP的。 其实感觉应该两个VTEP跨了三层才更好对比的。