前段时间刚部署好了eNSP,紧接着又看了VXLAN的文档,现在我们大概已经知道VXLAN隧道的建立方式分为手工创建和自动创建,放在华为设备上,配置方式可以分为静态方式和EVPN的方式。那今天就来敲一个静态方式手工建立VXLAN隧道的小实验。
实验环境
Windows7旗舰版(Xeon E5 v3@2.5GHz x16核心,32G内存)
eNSP(V100R003C00SPC100)
CE12800(V200R005C10SPC607B607)
组网需求
某公司有两个数据中心机房,A机房的服务器VM1属于VLAN 10,服务器VM2属于VLAN 20;B机房的服务器VM3属于VLAN 30,服务器VM4属于VLAN 40。服务器地址如图所示。现需要通过VXLAN网关实现不同数据中心服务器VM的互通。
配置思路
采用如下思路配置不同网段用户通过VXLAN三层网关通信:
1、分别在CE1、CE2和CE3上配置路由协议,保证网络三层互通。
2、分别在CE1和CE3上配置业务接入点实现区分业务流量。
3、分别在CE1、CE2和CE3上配置VXLAN隧道转发业务流量。
4、在CE2上配置VXLAN三层网关,实现不同网段用户通过VXLAN三层网关互通。
配置注意事项
1、物理设备支持情况不清楚,但是在eNSP模拟器中,CE6800交换机不支持对接口创建二层子接口,命令interface GE1/0/1.1 mode l2,也就是不支持后面的mode参数配置,为方便后续实验需求,不再使用CE6800设备。
2、手册提示:对于CE12800,除了操作步骤中的配置之外,需要在系统视图下执行assign forward nvo3 service extend enable命令,使能NVO3业务扩展功能。执行assign forward nvo3 f-linecard compatibility enable命令,用来防止在单板处于非增强模式时VXLAN流量不通。
设备默认情况下,NVO3的业务扩展功能未使能。此时在设备上部署NVO3业务后,若再叠加其他需要使用ACL的业务(如MQC、简化ACL、流量监管、BD流量统计、DHCP等),会较大概率出现叠加失败的情况。
在单板的互通模式为非增强模式时,如果VXLAN流量跨板转发,有可能出现VXLAN流量不通的问题。
但是,虚拟设备不支持此命令。
3、和华三设备不同,华三设备是配置即下发,华为设备命令行默认是两阶段生效模式,即敲完命令之后需要使用commit命令来提交配置。当然,也可以在进入系统视图时使用system-view immediately,进入立即生效模式。两种模式显示上是由差异的,两阶段生效模式前面会带有~或者*标识。
4、和华三设备不同,华为设备切换接口二三层模式命令为portswitch,开启此命令为使能交换模式,关闭此命令为路由模式,命令:undo portswitch。
5、高端设备,接口默认状态为shutdown,需要使用命令undo shutdown开启端口,然后才能使用。
配置步骤
搭好环境之后,先测试互通状态。此时所有交换机均作为二层交换机使用。VM2访问VM4,测试可以互访:
好像哪里不对,应该4台主机都在不同的VLAN,原来是接入交换机忘配置了。
1、配置路由互通
简单操作,直接贴配置。
CE1:
#
interface GE1/0/0
undo shutdown
#
interface GE1/0/1
undo shutdown
#
interface GE1/0/2
undo portswitch
undo shutdown
ip address 12.1.1.1 255.255.255.0
#
interface LoopBack1
ip address 1.1.1.1 255.255.255.255
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 12.1.1.0 0.0.0.255
CE2:
#
interface GE1/0/0
undo portswitch
undo shutdown
ip address 12.1.1.2 255.255.255.0
#
interface GE1/0/1
undo portswitch
undo shutdown
ip address 23.1.1.2 255.255.255.0
#
interface LoopBack1
ip address 2.2.2.2 255.255.255.255
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 12.1.1.0 0.0.0.255
network 23.1.1.0 0.0.0.255
CE3:
#
interface GE1/0/1
undo shutdown
#
interface GE1/0/2
undo portswitch
undo shutdown
ip address 23.1.1.3 255.255.255.0
#
interface LoopBack1
ip address 3.3.3.3 255.255.255.255
#
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 23.1.1.0 0.0.0.255
确认路由表。
2、配置业务接入点
在VXLAN网络中,有一个类似于传统网络中VLAN的概念,叫做Bridge-Domain,简称BD。还有一个叫做“二层子接口”的逻辑接口,二层子接口主要做两件事:一是根据配置来检查哪些报文需要进入VXLAN隧道;二是判断对检查通过的报文做怎样的处理。
配置业务接入点就是“确定报文属于哪个BD”,只要将二层子接口加入指定的BD,然后根据二层子接口上的配置,设备就可以确定报文属于哪个BD了。
因为CE2不直接连接服务器,所以只需要在CE1和CE3进行配置即可。
CE1:
#
bridge-domain 10
#
bridge-domain 20
#
interface GE1/0/0.1 mode l2
encapsulation dot1q vid 10
bridge-domain 10
#
interface GE1/0/1.1 mode l2
encapsulation dot1q vid 20
bridge-domain 20
CE3:
#
bridge-domain 10
#
bridge-domain 20
#
interface GE1/0/0.1 mode l2
encapsulation dot1q vid 30
bridge-domain 10
#
interface GE1/0/1.1 mode l2
encapsulation dot1q vid 40
bridge-domain 20
3、配置VXLAN隧道
需要手动指定VXLAN隧道的源IP为本端VTEP的IP、目的IP为对端VTEP的IP,也就是人为地在本端VTEP和对端VTEP之间建立静态VXLAN隧道。在CE12800设备上,需要配置在NVE( Network Virtualization Edge)接口下。
三台设备配置基本相同,配置不同的源目地址,建立全互联的VXLAN隧道。
CE1:
#
bridge-domain 10
vxlan vni 5010
#
bridge-domain 20
vxlan vni 5020
#
interface Nve1
source 1.1.1.1
vni 5010 head-end peer-list 2.2.2.2
vni 5010 head-end peer-list 3.3.3.3
vni 5020 head-end peer-list 2.2.2.2
vni 5020 head-end peer-list 3.3.3.3
CE2:
#
bridge-domain 10
vxlan vni 5010
#
bridge-domain 20
vxlan vni 5020
#
interface Nve1
source 2.2.2.2
vni 5010 head-end peer-list 1.1.1.1
vni 5010 head-end peer-list 3.3.3.3
vni 5020 head-end peer-list 1.1.1.1
vni 5020 head-end peer-list 3.3.3.3
CE3:
#
bridge-domain 10
vxlan vni 5010
#
bridge-domain 20
vxlan vni 5020
#
interface Nve1
source 3.3.3.3
vni 5010 head-end peer-list 1.1.1.1
vni 5010 head-end peer-list 2.2.2.2
vni 5020 head-end peer-list 1.1.1.1
vni 5020 head-end peer-list 2.2.2.2
4、在CE2上配置VXLAN三层网关
就是配置两个BD虚接口,配置和VLAN虚接口很像。
#
interface Vbdif10
ip address 172.16.10.1 255.255.255.0
#
interface Vbdif20
ip address 172.16.20.1 255.255.255.0
实验结果
结果很惨淡,感觉像是模拟器的问题,时通时不通的,多难受啊!
在CE2设备上,所有的ARP都已经学习到了,但是ping不通!
抓包也是,感觉模拟器傻乎乎的,还找别人要ARP,他自己本地就有啊。愁死人了!
算了,不挣扎了。重启半天也没有明显改善,没什么效果的一个实验。一起看一眼VXLAN的报文吧。
外层是VTEP的IP地址封装,报文里面有标识VXLAN流量的UDP4789端口,再内层能看到VNI编号为5020。