一、背景
随着云计算、虚拟化技术的发展,业务有时需要再不同地方同网段进行通信,即大二层网络。比如虚机迁移,从A数据中心迁移到异地数据中心。
首先,我们都知道,路由器是用来隔离广播域的,同网段通信都在一个广播域,像这种不同地域,中间不知道隔了多少台路由器,就拿arp广播请求报文来说,怎么可能传过去呢?
其次,vlan的ID也是有限的,只有4096个。
这不,VXLAN就诞生了,所以一个技术的诞生绝对不是平白无故的产生,肯定是有特点的背景下,研发人员才去创造新的技术出来。
我个人简单理解vxlan就是增加标签和建立隧道,把二层报文封装到UDP报文里面,通过隧道传递过去,构建大二层网络。当然还有很多细节的知识点,需要我们慢慢深入研究、学习。
二、拓扑图
三、思路
1、搭好实验环境,导入号CE6800镜像。
2、基础配置。(修改设备名、直连接口IP地址。)
3、配置路由协议。(保证CE1、CE2、CE3 loopback能通)
4、VXLAN相关配置。(建立VXLAN隧道、配置VNI号等)
5、验证。
四、配置过程
01、导入号CE6800镜像。
02、基础配置。
修改默认设备名:
CE1配置如下,其他设备参考如下,不再一一举例。
注意:CE系列设备,修改配置后,只要commit(提交),配置才生效。
Enter system view, return user view with return command.
[~HUAWEI]sys CE1
[*HUAWEI]commi
[*HUAWEI]commit
[~CE1]
[~CE1]
如果发现无法成功修改设备名,并提示如下报错:
Error: The system is busy in building system configurations.
可以用display device查看:
解决办法:
1、关掉ensp;
2、启动vitual box,对CE镜像,修改系统内存,我调整到4G。
3、重新启动ensp。
我就是按上述操作,解决了。
CE1的直连接口IP地址设置,其他CE2、CE3参照拓扑图及如下命令:
[~CE1]int g1/0/0
[~CE1-GE1/0/0]undo portswitch
[*CE1-GE1/0/0]ip add 12.1.1.1 24
[*CE1-GE1/0/0]undo shut
[*CE1-GE1/0/0]qu
[*CE1]int lo 0
[*CE1-LoopBack0]ip add 10.10.10.10 32
[*CE1-LoopBack0]qu
[*CE1]commit
[~CE1]
[Huawei]sysname SW1
[SW1]
[SW1]vlan 10
[SW1-vlan10]qu
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SW1]int g0/00/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 10
[SW1-GigabitEthernet0/0/1]qu
[Huawei]sysname SW2
[SW2]
[SW2]vlan 10
[SW2-vlan10]qu
[SW2]int g0/0/2
[SW2-GigabitEthernet0/0/2]port link-type trunk
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SW2]int g0/00/1
[SW2-GigabitEthernet0/0/1]port link-type access
[SW2-GigabitEthernet0/0/1]port default vlan 10
[SW2-GigabitEthernet0/0/1]qu
03、配置路由协议。
OSPF配置:
[~CE1]ospf
[*CE1-ospf-1]area 0
[*CE1-ospf-1-area-0.0.0.0]net 10.10.10.10 0.0.0.0
[*CE1-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255
[*CE1-ospf-1-area-0.0.0.0]commit
[~CE1-ospf-1-area-0.0.0.0
[~CE2]ospf
[*CE2-ospf-1]area 0
[*CE2-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255
[*CE2-ospf-1-area-0.0.0.0]net 23.1.1.0 0.0.0.255
[*CE2-ospf-1-area-0.0.0.0]net 20.20.20.20 0.0.0.0
[*CE2-ospf-1-area-0.0.0.0]commit
[~CE2-ospf-1-area-0.0.0.0
[~CE3]ospf
[*CE3-ospf-1]area 0
[*CE3-ospf-1-area-0.0.0.0]net 30.30.30.30 0.0.0.0
[*CE3-ospf-1-area-0.0.0.0]net 23.1.1.0 0.0.0.255
[*CE3-ospf-1-area-0.0.0.0]commit
[~CE3-ospf-1-area-0.0.0.0
查看一下OSPF邻居状态:
测试一下网络连通性,如ping一下 loopback接口。
04、VXLAN相关配置。
[~CE1]vlan 10
[*CE1-vlan10]quit
[*CE1]bridge-domain 10
[*CE1-bd10]quit
[*CE1]interface g1/0/1.1 mode l2
[*CE1-GE1/0/1.1]encapsulation dot1q vid 10
[*CE1-GE1/0/1.1]bridge-domain 10
[*CE1-GE1/0/1.1]quit
[*CE1]commit
[~CE1]
[~CE3]vlan 10
[*CE3-vlan10]quit
[~CE3]bridge-domain 10
[*CE3-bd10]quit
[*CE3]int g1/0/1.1 mode l2
[*CE3-GE1/0/1.1]encapsulation dot1q vid 10
[*CE3-GE1/0/1.1]bridge-domain 10
[*CE3-GE1/0/1.1]quit
[*CE3]
[*CE3]commit
[~CE3
配置VXLAN隧道:
[~CE1]bridge-domain 10
[~CE1-bd10]vxlan vni 1
[*CE1-bd10]quit
[*CE1]interface Nve 1
[*CE1-Nve1]source 10.10.10.10
[*CE1-Nve1]vni 1 head-end peer-list 30.30.30.30
[*CE1-Nve1]quit
[*CE1]commit
[~CE1]
[~CE3]bridge-domain 10
[~CE3-bd10]v
[~CE3-bd10]vxlan vni 1 //模拟器vni建议使用最小的。
[*CE3-bd10]quit
[*CE3]interface nve 1
[*CE3-Nve1]source 30.30.30.30
[*CE3-Nve1]vni1 head-end peer-list 10.10.10.10
[*CE3-Nve1]quit
[*CE3]commit
[~CE3
查看VXLAN状态:
五、验证
ok,现在我们就可以测试一下,PC1是否可以ping 通同网段的PC2:
然后,我们也可以抓包学习一下vxlan的真实报文又是如何的?
从抓包的报文来看,我们可以学习到,
vxlan是通过UDP报文来封装的,UDP源目端口使用的:4789。