VXLAN大二层实现穿越互联网通过DHCP服务器获取IP地址

1、测试拓扑图

wKioL1eFzLXR7RaRAABi9NshIq0122.png-wh_50

图(1)

拓扑说明:

a、linux路由器是用linux在vmware启用三个接口分为后host-only模式,vmnet1、vmnet2、vmnet3(注意,在vmware要将本实验使用的网络dhcp服务关闭,以免影响实验效果),vmnet1对应eth0,vmnet2对应eth1,vmnet3对应eth3;

wKioL1eFzaTTzgGMAAAP17XRMOQ519.png

b、vxlan-sw1使用两个网卡,使用vmnet1对应eth0连接到linux路由器的vmnet1对应的eth0接口,这样就把vxlan-sw1的eth0口桥接到了linux路由器的eth0口,然后vmnet4对应的eth1口连接一台linuxdhcp server的vmnet4对应的eth0口;

wKiom1eFzbKRUbM5AAAKCWyRTDw918.png

c、  同样的道理,vxlan-sw2使用vmnet2对应eth0口连接linux路由器vmnet2对应的eth1口,vmnet5对应eth1连接linuxdhcp client的vmnet5对应的eth0口;

wKiom1eFzb2T7TkSAAAIzIeyldo116.png

d、vxlan-sw3使用vmnet3对应eth0口连接linux路由器vmnet3对应的eth2口,vmnet6对应的eth1连接windowsxp client的vmnet6对应的eth0口;

wKioL1eFzc2iOu1BAAAJtphm-qU649.png

e、linux dhcp server使用vmnet4,linux dhcp client使用vmnet5,windows xp dhcp client使用vmnet6;


地址规划:

Linux路由器:

eth0 1.1.1.10/24

eth1 2.2.2.10/24

eth2 3.3.3.10/24

vxlan-sw1:

       eth0 1.1.1.1/24

       eth1 192.168.1.1/24

vxlan-sw2:

       eth0 2.2.2.1/24

       eth1 192.168.1.2/24

vxlan-sw3:

       eth0 3.3.3.1/24

       eth1 192.168.1.3/24

linux dhcpserver:

       eht0: 192.168.1.10/24

linux dhcpclient:

       eth0: dhcp client

windows xpclient:

       eth0: dhcp client

网卡初始配置:

Linux 路由器:

wKioL1eFzgGhmvxHAAGNBUFmXQc422.png

路由表:(由于linux路由器作为公网路由器不配置任何私有网络路由,因此不需要配置任何路由条目)

wKioL1eFziTA8iMgAABLf2hGkgI724.png

Vxlan-sw1:

wKiom1eFzkaBX379AAB6drk_uFE876.png

至于eth1口因为存在需要创建成桥接口后面详细说明;

路由表:

wKioL1eFzmiRsXJPAABJs0rpZ6Y313.png

Vxlan-sw2:

wKioL1eFzojQNe6PAAB56FMh73Y533.png

路由表:

wKiom1eFzqqQi0fBAABL1hfUiMY972.png

Vxlan-sw3:

wKioL1eFzsywKbFOAAB55wFY_2w151.png

路由表:

wKioL1eFzuuzfYnKAABBNgqnYuE487.png

Vxlan-vx1的openvswich相关配置:

创建桥接口br0

wKioL1eFzw7y-ZfbAAAFbUjdv2o046.png

将eth1添加到br0的桥接口,eth1也就成为了二层接口

wKiom1eFzynTGWIbAAAXcVMXcCU186.png

配置br0的三层接口:

wKiom1eF0gjyksNqAAAcRqF1fZ0079.png

查看接口配置:

wKiom1eF0jHjck0CAADcWxXYoo0080.png

创建vxlan接口及添加隧道:

wKioL1eF0mzwMQZJAAA9SQtYkO0433.png

查看openvswitch配置:

wKioL1eF0o6y1gaWAAAjN9wSw-s766.png

Vxlan-vx2的openvswich相关配置:

创建桥接口br0

wKioL1eF0q7wuwgKAAAFQSRj2m0081.png

将eth1添加到br0的桥接口,eth1也就成为了二层接口

wKiom1eF0svwNq3FAAAYLWupZBc309.png

配置br0的三层接口:

wKioL1eF0uijj6FIAAAYLuUGx0E675.png

查看接口配置:

wKioL1eF0xPwF1JmAADpVmRVJhs732.png

创建vxlan接口及添加隧道:

wKioL1eF1GLCuDSdAAAfAArJl_E232.png

查看openvswitch配置:

wKiom1eF1IDRw9hYAAAaJLyvKiQ397.png

Vxlan-vx2的openvswich相关配置:

创建桥接口br0

wKioL1eF1KOzK-q5AAADqBujxfU230.png

将eth1添加到br0的桥接口,eth1也就成为了二层接口

wKiom1eF1L7DUyS5AAAEOrCMLN0173.png

配置br0的三层接口:

wKioL1eF1ODSrC9uAAATQKfWAAM072.png

查看接口配置:

wKiom1eF1QCTic8MAADhnh2Li4U562.png

创建vxlan接口及添加隧道:

wKiom1eF1R2DVy3XAAAZ792XiAQ839.png

查看openvswitch配置:

wKiom1eF1TyDogSPAAAY3O4Osq4763.png

Linux dhcpserver配置

接口配置:

wKiom1eF1Vqj4cY6AAB5PMpaSX0441.png

路由配置:

wKioL1eF1YCx_MeoAAA-vKvhxLw801.png

地址池相关配置:

wKiom1eF1aXx0q7QAACrOVohg4k758.png

wKioL1eF1cPQ3HupAAAund6howg889.png

启动dhcp服务:

wKioL1eF1fXgRHSgAAAejzbbNdc394.png

Linux dhcpclient获取地址:

wKioL1eF1i_gPbD8AACA38dhoTc103.png

路由表:(路由表,注意:网关为192.168.1.1)

wKiom1eF1lmRJYZoAAA7_lcbzdU523.png

Windows xpdhcp client获取地址:

注意:网关竟然为192.168.1.3,竟然和linux获取网管不一样,一个为dhcp服务器接口地址,一个为本系统连接vxlan-sw的互联接口地址;

wKioL1eF1rLzc1eRAABzmvTHdyI626.png

测试过程:

Linux dhcpclient ping测试到达linux dhcp server连通性;

wKiom1eF1u2xX0UJAAAm6vCBCPM373.png

在vxlan-sw1的eth0接口抓包;(udp封装mac,因此可以达到)

wKiom1eF10mTkAEYAAFJv0sEYpQ989.png

在windows xpdhcp client Ping测试到达linux dhcp server:

wKiom1eF12izpOWvAAAoRfwYHeY810.png

在vxlan-sw1的eth0接口抓包;(udp封装mac,因此可以达到)

wKioL1eF15aBObnaAAE4UwchXZs896.png

结论:

1、当一个vxlan交换机对应多个vxlan交换机做一对多隧道,或多对多隧道的时候,出口只需要一个即可;

2、要手动添加多条隧道,因为隧道是静态的,所以如果隧道比较多,比较蛋疼;

3、一个桥暂时只能绑定一个三层接口,如果给二层接口起IP地址完全没有用,给桥的三层接口起多个地址,出现过问题,暂时没有证实什么原因造成;

4、一个物理桥可以创建多个vlxlan,曾经看过华为的资料数据中心交换机说只能创建一个;

5、过公网可以穿越任何二层的业务,包括二层广播,vlan,dhcp, stp等;