热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

这篇文章主要介绍了浅谈openstack中使用linux_bridge实现vxlan网络,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

openstack环境:

1 版本:ocata

2 系统:ubuntu16.04.2

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

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

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

计算节点网卡 ens33 ,ip = 172.171.5.201

一 vxlan配置

1 控制节点:

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

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

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

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

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

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

2 计算节点

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

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

重启网络服务。

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

二 在dashboard上创建网络过程

1 admin用户创建公网

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

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

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

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

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

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

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

以demo用户登录

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

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

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

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

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

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

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

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

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

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

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

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

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

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

登陆实例,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出去到达公网。

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

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

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


推荐阅读
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了VMware的多种认证选项,帮助你根据职业需求和个人技能选择最合适的认证路径,涵盖从基础到高级的不同层次认证。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
author-avatar
_名花侑主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有