标签:table 防火 凭证 命令 lin nova-api sql RoCE set
网络服务概览OpenStack Networking(neutron),允许创建、插入接口设备,这些设备由其他的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。
它包含下列组件:
neutron-server:
接收和路由API请求到合适的OpenStack网络插件,以达到预想的目的。OpenStack网络插件和代理:
插拔端口,创建网络和子网,以及提供IP地址,这些插件和代理依赖于供应商和技术而不同,OpenStack网络基于插件和代理为Cisco 虚拟和物理交换机、NEC OpenFlow产品,Open vSwitch,Linux bridging以及VMware NSX 产品穿线搭桥。
常见的代理L3(3层),DHCP(动态主机IP地址),以及插件代理。消息队列:
大多数的OpenStack Networking安装都会用到,用于在neutron-server和各种各样的代理进程间路由信息。也为某些特定的插件扮演数据库的角色,以存储网络状态
OpenStack网络主要和OpenStack计算交互,以提供网络连接到它的实例。- 网络neutron概念:
OpenStack网络(neutron)管理OpenStack环境中所有虚拟网络基础设施(VNI),物理网络基础设施(PNI)的接入层。OpenStack网络允许租户创建包括像 firewall, :term:load balancer
和 :term:virtual private network (×××)
等这样的高级虚拟网络拓扑。
网络服务提供网络,子网以及路由这些对象的抽象概念。每个抽象概念都有自己的功能,可以模拟对应的物理设备:网络包括子网,路由在不同的子网和网络间进行路由转发。
对于任意一个给定的网络都必须包含至少一个外部网络。不像其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种OpenStack安装之外的能从物理的,外部的网络访问的视图。外部网络上的IP地址可供外部网络上的任意的物理设备所访问
外部网络之外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。
如果外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每一个路由都配有一个网关用于连接到外部网络,以及一个或多个连接到内部网络的接口。就像一个物理路由一样,子网可以访问同一个路由上其他子网中的机器,并且机器也可以访问路由的网关访问外部网络。
另外,你可以将外部网络的IP地址分配给内部网络的端口。不管什么时候一旦有连接连接到子网,那个连接被称作端口。你可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例.
网络服务同样支持安全组。安全组允许管理员在安全组中定义防火墙规则。一个实例可以属于一个或多个安全组,网络为这个实例配置这些安全组中的规则,阻止或者开启端口,端口范围或者通信类型。
创建nuetron数据库和授权
# mysql -u root -p
> CREATE DATABASE neutron;
> GRANT ALL PRIVILEGES ON neutron.* TO ‘neutron‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
> GRANT ALL PRIVILEGES ON neutron.* TO ‘neutron‘@‘%‘ IDENTIFIED BY ‘123456‘;
获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
# source ~/admin-openrc
创建用户
# openstack user create --domain default --password-prompt neutron
User Password: //密码123456
Repeat User Password: //密码123456
添加admin
角色到neutron
用户:
# openstack role add --project service --user neutron admin
创建neutron服务
# openstack service create --name neutron --description "OpenStack Networking" network
创建网络服务端点
# openstack endpoint create --region RegionOne network public http://controller:9696
# openstack endpoint create --region RegionOne network internal http://controller:9696
# openstack endpoint create --region RegionOne network admin http://controller:9696
安装组件
# yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
修改配置文件
# vim /etc/neutron/neutron.conf
[database]
//729
connection = mysql+pymysql://neutron:123456@controller/neutron
[DEFAULT]
//27
auth_strategy = keystone
//30
core_plugin = ml2
//33 不写代表禁用其他插件
service_plugins =
//570
transport_url = rabbit://openstack:RABBIT_PASS@controller
//98
notify_nova_on_port_status_changes = true
//102
notify_nova_on_port_data_changes = true
[keystone_authtoken]
//847
auth_uri = http://controller:5000
auth_url = http://controller:35357
//898
memcached_servers = controller:11211
//1005
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123456
[nova]
//1085
auth_url = http://controller:35357
//1089
auth_type = password
//1127
project_domain_name = default
//1156
user_domain_name = default
//1069
region_name = RegionOne
//1135
project_name = service
//1163
username = nova
//1121
password = 123456
[oslo_concurrency]
//1179
lock_path = /var/lib/neutron/tmp
配置 Modular Layer 2 (ML2) 插件
# vim /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
//136
type_drivers = flat,vlan
//141 设置空是禁用本地网络
tenant_network_types =
//145
mechanism_drivers = linuxbridge
//150
extension_drivers = port_security
[ml2_type_flat]
//186
flat_networks = provider
[securitygroup]
//263
enable_ipset = true
配置Linux网桥
# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
//157
physical_interface_mappings = provider:ens33
[vxlan]
//208
enable_vxlan = false
[securitygroup]
//193
enable_security_group = true
//188
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
配置DHCP
# vim /etc/neutron/dhcp_agent.ini
//16
interface_driver = linuxbridge
//28
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
//37
enable_isolated_metadata = true
配置metadata
# vim /etc/neutron/metadata_agent.ini
[DEFAULT]
//22
nova_metadata_host = controller
//34
metadata_proxy_shared_secret = 123456
配置计算服务使用网络服务
# vim /etc/nova/nova.conf
[neutron]
//7534
url = http://controller:9696
//7610
auth_url = http://controller:35357
//7604
auth_type = password
//7631
project_domain_name = default
//7657
user_domain_name = default
//7678
region_name = RegionOne
//7625
project_name = service
//7651
username = neutron
//7660
password = 123456
//7573
service_metadata_proxy = true
//7584
metadata_proxy_shared_secret = 123456
建立服务软连接
# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
同步数据库
# 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
重启compute API服务和 启动neutron服务并加入开机自启动
# systemctl restart openstack-nova-api.service
systemctl enable neutron-server.service
systemctl enable neutron-linuxbridge-agent.service
systemctl enable neutron-dhcp-agent.service
systemctl enable neutron-metadata-agent.service
systemctl start neutron-server.service
systemctl start neutron-linuxbridge-agent.service
systemctl start neutron-dhcp-agent.service
systemctl start neutron-metadata-agent.service
# yum install -y openstack-neutron-linuxbridge ebtables ipset
配置公共组件
# vim /etc/neutron/neutron.conf
[DEFAULT]
//27
auth_strategy = keystone
//570
transport_url = rabbit://openstack:123456@controller
[keystone_authtoken]
//847
auth_uri = http://controller:5000
auth_url = http://controller:35357
//898
memcached_servers = controller:11211
//1005
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123456
[oslo_concurrency]
//1180
lock_path = /var/lib/neutron/tmp
配置Linux网桥
# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
//157
physical_interface_mappings = provider:ens33
[vxlan]
//208
enable_vxlan = false
[securitygroup]
//193
enable_security_group = true
//188
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
配置计算节点网络服务
# vim /etc/nova/nova.conf
[neutron]
//7534
url = http://controller:9696
//7610
auth_url = http://controller:35357
//7605
auth_type = password
//7631
project_domain_name = default
//7657
user_domain_name = default
//7678
region_name = RegionOne
//7625
project_name = service
//7651
username = neutron
//7660
password = 123456
重启计算服务
# systemctl restart openstack-nova-compute.service
启动Linuxbridge代理并配置它开机自启动
# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service
列出加载的扩展来验证neutron-server
进程是否正常启动:
# source ~/admin-openrc
# neutron ext-list
OpenStack搭建企业私有云 四:Networking服务(持续更新...)
标签:table 防火 凭证 命令 lin nova-api sql RoCE set
原文地址:http://blog.51cto.com/13630803/2171401