作者:【吴业亮】云计算开发工程师
博客:http://blog.csdn.net/wylfengyujiancheng
一、硬件配置及服务拓扑
1. controller节点:一块网卡
2. 网络节点:四块网卡。
3. 计算节点:三块网卡


controller节点
1. 运行neutron数据库和neutron-server
2. 运行消息队列服务
3. 运行OpenStack身份与合适的配置服务
4. 运行OpenStack计算nova相关网络,需配置nova.conf文件。
5. 运行插件ML2
网络节点
1. Neutron认证相关信息需配置neutron.conf文件。
2. Linux桥代理,L3代理,DHCP代理,元数据代理,和一些依赖项。
计算节点
1. 运行OpenStack身份与合适的配置服务 需配置neutron.conf文件。
2. 运行OpenStack计算nova相关网络,需配置nova.conf文件。
3. Linux桥代理和一些依赖项。
二、各个节点服务关系及说明


网络节点网络包含以下组件:
1. Linuxbridge-agent
2. DHCP agent
3. L3 agent
4. Metadata agent


计算节点网络包含以下组件:
1. Linux-bridge-agent


三、场景举例
Note请注意
南北网络:虚拟机内部数据到外部网络
东西网络:虚拟机之间通信
案例1:南北网络、实例对应一个固定的IP地址

案例2:南北网络,实例对应一个浮动IP地址

案例3:东西网络,实例在不同的网络上

案例4:东西网络、实例在同一网络

四、安装配置
(一)controller节点
1、安装组件

# yum install openstack-neutron openstack-neutron-ml2 \openstack-neutron-linuxbridge ebtables

2、配置服务器组件
编辑 /etc/neutron/neutron.conf文件,并完成以下动作:
在[数据库]节中,配置数据库访问:

[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron

替换 NEUTRON_DBPASS为你自己的密码
在[默认的]部分

[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

在[默认的]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问:

[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

替换RABBIT_PASS为你自己的密码
在[默认的]和[keystone_authtoken]部分,配置身份服务访问:

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

替换NEUTRON_PASS为你自己的密码
Note请注意
注释掉或删除任何其他选项 [keystone_authtoken]部分。
在[默认的]和[nova]部分,配置网络通知计算网络拓扑变化:

[DEFAULT]
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
[nova]
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS

替换NOVA_PASS为你自己的密码。
在[oslo_concurrency]节中,配置锁路径:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

3、编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件
在[ml2]部分,使平、VLAN和VXLAN网络:

[ml2]
type_drivers = flat,vlan,vxlan

在[ml2]部分,使VXLAN自助服务网络:

[ml2]
tenant_network_types = vxlan

在[ml2]部分

[ml2]
mechanism_drivers = linuxbridge,l2population

在[ml2]部分,启用端口安全

[ml2]
extension_drivers = port_security

在[ml2_type_flat]部分,虚拟网络配置提供者平面网络:

[ml2_type_flat]
flat_networks = provider

在[ml2_type_vxlan]部分,配置VXLAN网络标识符范围自助服务网络:

[ml2_type_vxlan]
vni_ranges = 1:1000

在[securitygroup]部分,使ipset提高效率的安全组规则:

[securitygroup]
enable_ipset = True

编辑/etc/nova/nova.conf文件和执行以下操作:
在[nova]节中,配置访问参数,使元数据代理,并配置秘密:

[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = True

4、创建链接

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

5、同步数据库

su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf   --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

6、重启nova服务

systemctl restart openstack-nova-api.service

7、启动neutron服务

# systemctl enable neutron-server.service
# systemctl start neutron-server.service

(二)网络节点
1.安装软件包

# yum install openstack-neutron openstack-neutron-ml2 \openstack-neutron-linuxbridge ebtables

2.配置组件
编辑/etc/neutron/neutron.conf文件,并完成以下动作:
在[数据库]节中,删除配置数据库访问:
在[默认的]部分,使模块化层2)中打开(名为ML2插件,路由器的服务,和重叠的IP地址:

[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

在[默认的]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问:

[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

替换RABBIT_PASS为你自己的密码。
在[默认的]和[keystone_authtoken]部分,配置身份服务访问:

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

替换NEUTRON_PASS为你自己的密码
Note请注意
注释掉或删除任何其他选项 [keystone_authtoken]部分。
在[oslo_concurrency]节中,配置锁路径:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

3、编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件
在[ml2]部分,使平、VLAN和VXLAN网络:

[ml2]
type_drivers = flat,vlan,vxlan

在[ml2]部分,使VXLAN自助服务网络:

[ml2]
tenant_network_types = vxlan

在[ml2]部分,使Linux桥和2层人口机制:

[ml2]
mechanism_drivers = linuxbridge,l2population

在[ml2]部分,启用端口安全扩展司机:

[ml2]
extension_drivers = port_security

在[ml2_type_flat]部分,虚拟网络配置提供者平面网络:

[ml2_type_flat]
flat_networks = provider

在[ml2_type_vxlan]部分,配置VXLAN网络标识符范围自助服务网络:

[ml2_type_vxlan]
vni_ranges = 1:1000

在[securitygroup]部分,使ipset提高效率的安全组规则:

[securitygroup]
enable_ipset = True

6、编辑 /etc/neutron/plugins/ml2/linuxbridge_agent.inii文件:

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

替换 OVERLAY_INTERFACE_IP_ADDRESS与为网卡I

  1. 配置L3代理。编辑 /etc/neutron/l3_agent.ini文件:
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =

Note请注意
的 external_network_bridge选择故意不包含值。
2. 配置DHCP代理。编辑 /etc/neutron/dhcp_agent.ini文件:

[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
  1. 配置元数据代理。编辑 /etc/neutron/metadata_agent.ini文件:
[DEFAULT]
nova_metadata_ip=controller
metadata_proxy_shared_secret=METADATA_SECRET

替换METADATA_SECRET为合适的值。
4、创建链接

# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

5、启动服务

# systemctl restart openstack-nova-api.service
# systemctl enable   neutron-linuxbridge-agent.service neutron-dhcp-agent.service \

neutron-metadata-agent.service

# systemctl start  neutron-linuxbridge-agent.service neutron-dhcp-agent.service \neutron-metadata-agent.service

(三)计算节点
1.安装软件包

# yum install openstack-neutron-linuxbridge ebtables

2.编辑 /etc/neutron/neutron.conf文件,并完成以下动作:
在 [数据库]节中,注释掉 连接选项,因为计算节点不直接访问数据库。
在 [默认的]和 [oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问:

[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

替换 RABBIT_PASS你的密码
在 [默认的]和 [keystone_authtoken]部分,配置身份服务访问:

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

替换NEUTRON_PASS为你的密码
Note请注意
注释掉或删除任何其他选项 [keystone_authtoken]部分。
在 [oslo_concurrency]节中,配置锁路径:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

3.编辑 /etc/neutron/plugins/ml2/linuxbridge_agent.ini

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

4、配置nova配置文件¶
编辑 /etc/nova/nova.conf文件,并完成以下动作:
在 [neutron]节中,配置访问参数:

[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

替换 NEUTRON_PASS为自己的密码
5.启动服务

# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service
# systemctl restart openstack-nova-compute.service

【neutron】mitaka版本openstack网络之linux bridge相关推荐

  1. linux内核网络协议栈--linux bridge(十九)

    1 . 前言 本文是参考附录上的资料整理而成,以帮助读者更好的理解kernel中brdige 模块代码. 2. 网桥的原理 2.1 桥接的概念 简单来说,桥接就是把一台机器上的若干个网络接口" ...

  2. 浅析linux内核网络协议栈--linux bridge

    1 . 前言 本文是参考附录上的资料整理而成,以帮助读者更好的理解kernel中brdige 模块代码. 2. 网桥的原理 2.1 桥接的概念 简单来说,桥接就是把一台机器上的若干个网络接口" ...

  3. OpenStack 网络项目(Neutron)的历史、现状与未来

    转载请注明:http://blog.csdn.net/yeasy/article/details/41788795 微信订阅版本:http://mp.weixin.qq.com/s?__biz=MzA ...

  4. OpenStack介绍说明、OpenStack架构说明、OpenStack核心服务详细说明【keystone,nova,cinder,neutron...】、OpenStack创建VM,服务间交互示例

    文章目录 OpenStack介绍说明 OpenStack起源 认识openstack[重要] OpenStack架构说明 OpenStack架构概览 OpenStack逻辑架构 OpenStack生产 ...

  5. OpenStack网络指南(17)IPAM配置

    从Liberty版本开始,OpenStack Networking包括用于IP地址管理(IPAM)功能的可插拔接口. 此接口创建用于子网和IP地址的分配和取消分配的驱动程序框架,从而实现替代IPAM实 ...

  6. Linux Bridge的IP NAT细节探析-填补又一坑的过程

    前序 近日温州皮鞋厂老板正在忙着学习Linux Bridge以及诸多虚拟网卡相关的东西,老湿给了一些指导,但最根本的还要靠温州老板自己.就好像有仙灵在聆听心声,我正因为温州老板的缘故一而再再而三地怀念 ...

  7. Neutron VxLAN + Linux Bridge 环境中的网络 MTU

    1. 基础知识 1.1 MTU 一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层上标 ...

  8. 理解 neutron(15):Neutron Linux Bridge + VLAN/VXLAN 虚拟网络

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  9. openstack queens 版本 linux bridge起不来的解决办法

    报错如下: Apr 3 03:52:48 neutron neutron-linuxbridge-agent: elif tornado and tornado.gen.is_coroutine_fu ...

最新文章

  1. 7月平均工资下来,Java程序员哭笑不得!
  2. jQuery之换肤与cookie插件
  3. dedecms后台怎么添加发布软件?织梦后台软件内容管理
  4. Mr.J-- jQuery学习笔记(二十七)--DOM操作方法(删除获取文本)
  5. 人机交互,加速机器人拟人化
  6. Springboot启动完毕后提供了立刻执行自定义程序的两个接口类
  7. .NET Remoting 经典远程回调模型(二)
  8. 英特尔一口气发布了三款处理器、两款存储、一款以太网适配器
  9. 【5分钟 Paper】Deterministic Policy Gradient Algorithms
  10. 树莓派:DIY电视盒子
  11. ideaIU-2019.3.2.exe安装教程
  12. Halcon学习(7):颜色识别
  13. 推荐一大波让你直呼哇塞的Canvas库
  14. xp系统计算机蓝屏,xp蓝屏,教您教你怎么修复xp蓝屏问题
  15. linux中tac命令详解,一天一个shell命令 linux文本操作系列-tac,rev命令详解
  16. 在计算机中移动硬盘一般用作什么,移动硬盘是什么
  17. 无所不能,传感器黑科技层出不穷
  18. 搭建Jpress博客系统,超详细(保姆及教学)
  19. bzoj1236 KPSUM bzoj2900 好玩的数字游戏
  20. OPEN3D学习笔记(三)——KDTree ICP Registration

热门文章

  1. Mysql批量插入数据问题解决和优化
  2. 1024程序员节:谈谈自我感受
  3. 「脑洞」图片转HTML(支持动画)
  4. Ajax基础:发送jsonp请求(jsonp、jsonCallback)
  5. Lua C API 的正确用法
  6. nacos配置中心指定配置文件为yml格式
  7. flashfxp支持sftp了
  8. 关于plsql报错 初始化失败
  9. 十八 、 View 的工作原理(2)---理解 MeasureSpec
  10. 纯真IP数据库格式详解zt