开发者社区> 技术小胖子> 正文

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

简介:
+关注继续查看

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等;

 

 





      本文转自灬落魄灬  51CTO博客,原文链接:http://blog.51cto.com/smoke520/1826011,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
获取数据库服务器日期、时间
一、获取数据库服务器日期(格式:yyyymmdd) sql server版本 string vsSql = "select convert(varchar(10),getdate(),112) as snTime"; oracle 版本 string vsSql = "select to_char(sysdate,'yyyymmdd') as snDate from d
1540 0
nginx做反向负载均衡,后端服务器获取真实客户端ip(转)
首先,在前端nginx上需要做如下配置: location / proxy_set_hearder host                $host; proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for; prox...
1495 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29235 0
获取微信服务器IP地址
关键字:微信公众平台 微信服务器 IP地址   如果公众号基于安全等考虑,需要获知微信服务器的IP地址列表,以便进行相关限制,可以通过该接口获得微信服务器IP地址列表。 接口调用请求说明 http请求方式: GET https://api.
1523 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载