openstack环境:

1 版本:ocata

2 系统:ubuntu16.04.2

3 控制节点 1个 + 计算节点 1个

4 控制节点网卡为ens33,ip = 172.171.5.200 ens34 manual模式 无IP

浅谈openstack中使用linux_bridge实现vxlan网络

(为什么外网网卡ens34没有IP地址?这是另一个故事,后面有专门章节讲解。)

计算节点网卡 ens33 ,ip = 172.171.5.201

浅谈openstack中使用linux_bridge实现vxlan网络

一 vxlan配置

1 控制节点:

编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件

配置tenant_network_types = vxlan。该配置意义是项目中创建的内部网络为vxlan类型。

浅谈openstack中使用linux_bridge实现vxlan网络

配置flat外部网络的标签为provider,在创建外部网络时使用。

浅谈openstack中使用linux_bridge实现vxlan网络

编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

配置物理网卡的映射,通俗讲即指定外网网卡。ens34为本环境中出外网网卡。

浅谈openstack中使用linux_bridge实现vxlan网络

指定vxlan的封装IP,即外层IP。

浅谈openstack中使用linux_bridge实现vxlan网络

2 计算节点

同理配置计算节点,标签label要和控制节点一致

浅谈openstack中使用linux_bridge实现vxlan网络

隧道的封装IP为ens33的IP地址

浅谈openstack中使用linux_bridge实现vxlan网络

重启网络服务。

service neutron-server restart
service neutron-linuxbridge-agent restart

二 在dashboard上创建网络过程

1 admin用户创建公网

浅谈openstack中使用linux_bridge实现vxlan网络

这里首先创建的是外网。外网的类型有两种:falt和vlan。当指定为flat类型时,物理网络中填写的就是上面配置的label。指明该flat网络使用label所绑定的网卡出外网。

一定要区分创建外部网络和非外部网络。如下图,勾选了外部网络一定是创建公网,是所有VM出公网的网络。admin用户也可以为某个项目创建内网,不勾选外部网络。

浅谈openstack中使用linux_bridge实现vxlan网络

flat网络创建子网。子网网段是能够出外网的网段。比如这里填写的172.171.5.0/24网段,该网段中每一个IP地址都能出外网。

浅谈openstack中使用linux_bridge实现vxlan网络

填写地址池,DNS服务器。外网到这里创建结束。接下来创建本环境中的项目demo项目的内网。

浅谈openstack中使用linux_bridge实现vxlan网络

当创建好外部网络之后,对应的控制节点底层网桥发生变化。由于写博文截图不够及时,这里已经是创建好网络,实例之后的截图。

当创建好外部网络之后,会出现红框中的网桥信息。其中,该网桥连接了ens34网卡和dhcp节点tap543aa81e。

浅谈openstack中使用linux_bridge实现vxlan网络

如下图所示(画功一般,见谅)

浅谈openstack中使用linux_bridge实现vxlan网络

以demo用户登录

浅谈openstack中使用linux_bridge实现vxlan网络

创建内部网络。使用demo用户登录demo项目中,创建的内部网络类型是由tenant_network_types中指定,为vxlan。

该配置能指定内部网络类型,如flat,vlan,gre等。

浅谈openstack中使用linux_bridge实现vxlan网络

分配内网的ip地址。内网地址指定网段为任意网段,因为该网段的地址要经过路由器的转换,转换到外网的IP地址出外网。

推荐使用私网地址。本环境使用192.168.0.0/24。

浅谈openstack中使用linux_bridge实现vxlan网络

配置地址池,不配置即可使用全部。

浅谈openstack中使用linux_bridge实现vxlan网络

配置内网之后创建路由器,连接内网和外网。如下创建router,外部网络选择上面创建的外部网络名称。本环境为out_side_net。

浅谈openstack中使用linux_bridge实现vxlan网络

再添加接口为内部网络。子网是指上面创建的内部网络。

浅谈openstack中使用linux_bridge实现vxlan网络

最后开启一个实例。创建实例时选择的网络是内部网络。

浅谈openstack中使用linux_bridge实现vxlan网络

创建好内部网络和实例之后,vxlan隧道就建立起来。系统会在控制节点创建一个vxlan 的VTEP,在计算节点创建一个vxlan的VTEP。

如下图,第一张为控制节点,创建vxlan12;第二张为计算节点创建也为vxlan12。这两个VTEP设备组成了vxlan隧道的两个端点。

浅谈openstack中使用linux_bridge实现vxlan网络

浅谈openstack中使用linux_bridge实现vxlan网络

通过查看计算节点上vxlan12的详细信息可以看到其连接ens33网卡。

浅谈openstack中使用linux_bridge实现vxlan网络

此时隧道的网络如下图所示

浅谈openstack中使用linux_bridge实现vxlan网络

如下图所示为创建好外部网络,内部网络,以及路由器之后的网络拓扑。

浅谈openstack中使用linux_bridge实现vxlan网络

内部网络的情况大概如下图所示。

浅谈openstack中使用linux_bridge实现vxlan网络

登陆实例,ping外网,通。此时的除外网的网络流量过程如下:

 1. VM产生ICMP包,发往网桥。数据包源IP为192.168.0.X。
 2.通过网桥在vxlan12上封装外层数据包。
 3.数据通过ens33网卡出计算节点,到控制节点,即网络节点。
 4.在控制节点的vxlan12处解开外层封装,还原VM的ICMP包。
 5.数据流到达router路由器,经过路由器NAT地址转换。从192.168.0.X转换成外网地址172.171.5.230~240中一个。
 6.数据流经过网桥,从ens34出去到达公网。

回包过程大概是反过来的,不再累叙。

浅谈openstack中使用linux_bridge实现vxlan网络

openstsack网络复杂,自身知识能力也有限,难免出现理解错误的地方。欢迎指正和交流。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
openstack,vxlan,linuxbridge,vxlan,openstack,bridge

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。