Appearance
Vxlan没有灵魂的H3C实例
没有灵魂是因为实验资源有限所以只能做到点对点手工配置vxlan,没有控制器,也没有控制平面,网络中仅有两个VTEP。
补充一个名词解释
VSI(Virtual Switch Instance,虚拟交换实例):VTEP上为一个vxlan提供二层服务的虚拟交换实例。VSI可以看作是VTEP上的一台专为对应vxlan进行二层转发的虚拟交换机。VSI与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接口 二层三层的源地址和目的地址都没什么问题,很标准的在同一广播域传输的数据包样子。 VTEP1的G1/0接口
此时原来的数据包被加上了vxlan的头部,然后封装在udp包中传输,二层三层的源地址目的地址变成了VTEP的。 其实感觉应该两个VTEP跨了三层才更好对比的。