一、背景
由于现网中涉及到了VXLAN,所以简单的了解了一下VXLAN,并将学习到的知识记录下来,以便后续查看。此实验部署的是集中式网关VXLAN,另外还有分布式网关VXLAN。现网环境中的主机为虚拟机,此处用物理机代替。实验环境:模拟器采用eNSP,用CE12808交换机实现VXLAN。
二、实验拓扑
IP地址、VLAN以及VXLAN的规划如下图所示。
三、配置文件
3.1基础配置
3.1.1核心交换机CE1
interface GE1/0/1
undo portswitch //将接口模式转换为三层
undo shutdown //启用接口,CE12808的接口默认是shutdown的
ip address 10.0.12.1 255.255.255.252
interface GE1/0/2
undo portswitch
undo shutdown
ip address 10.0.13.1 255.255.255.252
interface LoopBack0
ip address 1.1.1.1 255.255.255.255 //配置VTEP IP地址,用LoopBack的原因是为了VXLAN以及OSPF协议的稳定性
3.1.2汇聚交换机CE2
interface GE1/0/1
undo portswitch
undo shutdown
ip address 10.0.12.2 255.255.255.252
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
3.1.3汇聚交换机CE3
interface GE1/0/2
undo portswitch
undo shutdown
ip address 10.0.13.2 255.255.255.252
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
3.2配置OSPF
在CE1,CE2,CE3上配置OSPF,使得VTPE IP地址三层互通、以便VXLAN隧道能正常建立。
3.2.1CE1
ospf 1 //创建OSPF进程
area 0.0.0.0 //创建OSPF区域
network 1.1.1.1 0.0.0.0 //宣告VTEP IP地址
network 10.0.12.0 0.0.0.3 //宣告互联地址网段,使得OSPF邻居能正常建立
network 10.0.13.0 0.0.0.3 //宣告互联地址网段,使得OSPF邻居能正常建立
3.2.2CE2
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.12.0 0.0.0.3
3.2.3CE3
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.0.13.0 0.0.0.3
3.2.4配置情况查看
当OSPF协议配置完成后,在交换机上查看一下路由表,看交换机是否已经学习到其他VTEP的IP地址。
可见,上图交换机已经学习到了其他交换机上所配置的VTEP IP地址。
3.3VXLAN配置
3.3.1CE1
由于是配置集中式网关VXLAN,所以需要在核心交换机CE1上面配置VXLAN的网关,即PC的网关地址。
bridge-domain 10 //创建桥域BD,类似VLAN的广播域
vxlan vni 10 //创建VXLAN网络标识符VNI(可以与BD不同),类似VLAN ID
bridge-domain 20
vxlan vni 20
interface Vbdif10 //创建VXLAN三层接口,类似vlanif接口
ip address 192.168.10.254 255.255.255.0 //配置网关地址
interface Vbdif20
ip address 192.168.20.254 255.255.255.0
interface Vbdif30
ip address 192.168.30.254 255.255.255.0
interface Nve1 //创建NVE(网络虚拟化边缘)接口
source 1.1.1.1 //VXLAN隧道封装的源地址
vni 10 head-end peer-list 2.2.2.2 //配置头端复制列表,针对BUM报文
vni 20 head-end peer-list 2.2.2.2
vni 30 head-end peer-list 3.3.3.3
3.3.2CE2
配置汇聚交换机,即VXLAN的接入点,此实验为以VLAN模式接入到VXLAN网络;
bridge-domain 10
vxlan vni 10
bridge-domain 20
vxlan vni 20
interface Nve1
source 2.2.2.2
vni 10 head-end peer-list 1.1.1.1
vni 20 head-end peer-list 1.1.1.1
interface GE1/0/3
undo shutdown //启用接口
interface GE1/0/3.10 mode l2 //创建二层子接口
encapsulation dot1q vid 10 //只解封装携带vlan-tag 10的数据帧
bridge-domain 10 //将vlan10的数据帧封装到VXLAN隧道中
interface GE1/0/3.20 mode l2
encapsulation dot1q vid 20
bridge-domain 20
interface GE1/0/2
undo shutdown
interface GE1/0/2.20 mode l2
encapsulation dot1q vid 20
bridge-domain 20
3.3.3 CE3
配置与CE2类似
bridge-domain 30
vxlan vni 30
interface Nve1
source 3.3.3.3
vni 30 head-end peer-list 1.1.1.1
interface GE1/0/1
undo shutdown
interface GE1/0/1.30 mode l2
encapsulation dot1q vid 30
bridge-domain 30
3.3.4接入交换机配置:LWS1
接入交换机需要创建相应的接入VLAN,并放通。
vlan batch 10 20 //同时创建VLAN 10和VLAN 20
interface Ethernet0/0/3
port link-type trunk //将接口模式设置为Trunk,允许多个VLAN通过
undo port trunk allow-pass vlan 1 //拒绝默认vlan通过
port trunk allow-pass vlan 10 20 //允许指定vlan通过
interface Ethernet0/0/1
port link-type access //将接口模式设置为access
port default vlan 10 //将接口模默认vlan设置为10
interface Ethernet0/0/2
port link-type access
port default vlan 20
3.3.5接入交换机配置:LWS2
vlan 20
interface Ethernet0/0/2
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 20
interface Ethernet0/0/1
port link-type access
port default vlan 20
3.3.6接入交换机配置:LWS3
vlan 30
interface Ethernet0/0/1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 30
interface Ethernet0/0/2
port link-type access
port default vlan 30
3.3.7PC配置
注意,配置PC之后,一定要点击“应用”,否则配置不生效。
四、验证
4.1测试PC到自己网关的连通性,并抓包查看
当用PC1ping网关的时候,用Wireshark在CE2的GE1/0/1上抓包,并分析抓包的结果。
由抓包结果可见。PC1ping自己的网关的报文是经过VXLAN封装了的,也就是说原始MAC帧被封装到了VXLAN隧道中。隧道的源IP地址为CE2的VTEP IP地址,目的IP地址为CE1的VTEP IP地址,VNI为1010;原始数据帧的源IP地址为192.168.10.1,目的IP地址为192.168.10.254;抓包结果符合预期。
4.2测试PC与不同网段之间的通信
PC1 ping PC3,并在CE2的GE1/0/1口抓包查看。
CE2的GE1/0/1接口抓包接口如下:可以看到此时的报文为VXLAN报文
在CE2的GE1/0/2接口抓包如下:可以看到此时报文不是VXLAN报文,即交换机已经把VXLAN报文解封装了。
4.3测试PC与不同网段之间的通信
PC1 ping PC4,并在CE2的GE1/0/1上和CE3的1/0/2接口抓包
CE2的GE1/0/1抓包如下:
CE3的GE1/0/2
可以看见,此时报文的原始MAC信息没有被改变,但是VXLAN的VTEP是经过了改变的,即原始MAC报文先被送到CE1(网关),VTEP IP为:2.2.2.2----1.1.1.1(VXLAN:10),然后CE1再转发给PC4,此时VTEP IP的源目IP地址为1.1.1.1----3.3.3.3(VXLAN:30)
五、总结
1,相同VXLAN(VNI)的头端复制列表不能同时指向两个或多个VTEP。
如:
vni 10 head-end peer-list 2.2.2.2
vni 10 head-end peer-list 3.3.3.3
解决方法:注意VXLAN的组网
2,由于eNSP的原因,设置vxlan vni的时候,一定不要超过100,否则会出现bug;如ping不通。