【neutron】mitaka版本openstack网络之linux bridge

作者:【吴业亮】云计算开发工程师

博客: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:[email protected]/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
时间: 2024-08-30 09:09:55

【neutron】mitaka版本openstack网络之linux bridge的相关文章

OpenStack —— 网络进阶Linux Bridge(七)

一.配置Linux Bridge Neutron默认使用ML2作为core plugin,其配置位于/etc/neutron/neutron.conf,控制节点和计算节点都需要在各自的neutron.conf 中配置core_plugin选项. 然后需要让ML2使用linux-bridge mechanism driver,ML2的配置文件位于/etc/neutron/plugins/ml2/ml2_conf.ini. [ml2] # ... mechanism_drivers = linuxb

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

转载请注明:http://blog.csdn.net/yeasy/article/details/41788795 历史 OpenStack 作为最热门的云计算开源项目,自 2010 年 10 月发布第一个版本 Austin 以来,到 2014 年 10 月 发布 Juno 版本,已经经历了 10 个主要版本.基本稳定为每年 4 月和 10 月各发布一次大的版本更新. 网络功能实现是自第二个版本,即 Bexar 版本引入,最初作为 Nova 项目的一个功能 Nova-Network,仅支持所有用

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

前序 近日温州皮鞋厂老板正在忙着学习Linux Bridge以及诸多虚拟网卡相关的东西,老湿给了一些指导,但最根本的还要靠温州老板自己.就好像有仙灵在聆听心声,我正因为温州老板的缘故一而再再而三地怀念曾经玩转Linux Bridge,Linux Netfilter的那段痛并快乐着的时光,另外一个好玩的东西恰在此时切入. 大概有三年多没有玩Linux Bridge了,甚是想念.感谢同事给我一个Bridge方面的疑难杂症让我诊断!        凭着经验,很快搞定了问题,但是如果就此了断怕是在多年后

OpenStack(Kilo版本)网络服务neutron的安装部署

Openstack网络主要是和OpenStack计算交互,提供网络连接到它的实例.一.OpenStack网络服务包含的组件 图1.1. OpenStack Nova组件 二.OpenStack网络节点基本环节的搭建1.配置主机名和网络信息1.1配置主机名 [email protected]:~# vim /etc/hostname network 1.2 配置IP地址 [email protected]:~# vim  /etc/network/interfaces auto eth0 ifac

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

报错如下:Apr 3 03:52:48 neutron neutron-linuxbridge-agent: elif tornado and tornado.gen.is_coroutine_function(f):Apr 3 03:52:48 neutron neutron-linuxbridge-agent: AttributeError: 'module' object has no attribute 'is_coroutine_function'Apr 3 03:52:48 neut

Openstack 网络服务Neutron [五]

Openstack 网络服务Neutron [五] openstack 时间:2016年11月28日 Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个neutron Openstack Networking 网络: 在实际的物理环境下,我们使用交换机或者集线器把多个计算机连接起来形成了网络.在Neutron的世界里,网络也是将多个不同的云主机连接起

Neutron新进展|DragonFlow在Mitaka版本中的Roadmap

OpenStack网络在Mitaka版本中将有哪些新变化?1月11日到12日,DragonFlow的PTL——Eran Gampel,Kuryr的PTL——Gal Sagie,和他们的老大从以色列来到杭州,参加DragonFlow Meetup.UnitedStack有云的网络组同事苌智和康敬亭参与了这次讨论,并整理出Dragonflow在Mitaka版本中要完成的工作以为未来的Roadmap. 背景介绍Dragonflow是OpenStack网络组件Neutron的子项目,由华为以色列技术团队

OpenStack —— 网络服务Neutron(五)

一.Neutron介绍 OpenStack网络服务已由Quantum改名为Neutron.Neutron是OpenStack核心项目之一,提供云计算环境下的虚拟网络功能服务. Neutron的设计目标是实现"网络即服务(Networking as a Service)".为了达到这一目标,在设计上遵循了基于SDN(Software-Defined Networking)实现网络虚拟化的原则,在实现上充分利用了Linux系统上的各种网络相关的技术. Neutron网络允许用户创建和管理网

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan)

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan,附上个节点的配置文件) 实验环境准备: 为了更好的实现分布式mitaka版本的效果.我才有的是VMware的workstations来安装三台虚拟机,分别来模拟openstack的controller节点 compute节点和cinder节点.(我的宿主机配置为 500g 硬盘 16g内存,i5cpu.强烈建议由条件的朋友将内存配置大一点,因为我之前分配的2g太卡.) 注