网络选项 1:提供商网络¶
在控制器节点上安装和配置网络组件。
安装组件¶
# dnf install openstack-neutron openstack-neutron-ml2 \
openstack-neutron-openvswitch
配置服务器组件¶
网络服务器组件的配置包括数据库、认证机制、消息队列、拓扑变更通知和插件。
注意
默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,配置片段中的省略号 (...) 表示您应该保留的潜在默认配置选项。
编辑
/etc/neutron/neutron.conf文件并完成以下操作在
[database]部分,配置数据库访问[database] # ... connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
将
NEUTRON_DBPASS替换为您为数据库选择的密码。注意
注释掉或删除
[database]部分中的任何其他connection选项。在
[DEFAULT]部分,启用模块化第二层 (ML2) 插件并禁用其他插件[DEFAULT] # ... core_plugin = ml2 service_plugins =
在
[DEFAULT]部分中,配置RabbitMQ消息队列访问[DEFAULT] # ... transport_url = rabbit://openstack:RABBIT_PASS@controller
将
RABBIT_PASS替换为您在 RabbitMQ 中为openstack帐户选择的密码。在
[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问[DEFAULT] # ... auth_strategy = keystone [keystone_authtoken] # ... www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 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替换为您在 Identity 服务中为neutron用户选择的密码。注意
注释掉或删除
[keystone_authtoken]部分中的任何其他选项。在
[DEFAULT]和[nova]部分,配置网络以通知计算组件网络拓扑更改[DEFAULT] # ... notify_nova_on_port_status_changes = true notify_nova_on_port_data_changes = true [nova] # ... auth_url = http://controller:5000 auth_type = password project_domain_name = Default user_domain_name = Default region_name = RegionOne project_name = service username = nova password = NOVA_PASS
将
NOVA_PASS替换为您在 Identity 服务中为nova用户选择的密码。
在
[oslo_concurrency]部分中,配置锁路径[oslo_concurrency] # ... lock_path = /var/lib/neutron/tmp
配置模块化第二层 (ML2) 插件¶
ML2 插件使用 Linux 网桥机制为实例构建第二层(桥接和交换)虚拟网络基础设施。
编辑
/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作在
[ml2]部分,启用扁平网络和 VLAN 网络[ml2] # ... type_drivers = flat,vlan
在
[ml2]部分,禁用自助服务网络[ml2] # ... tenant_network_types =
在
[ml2]部分,启用 Linux 网桥机制[ml2] # ... mechanism_drivers = openvswitch
警告
配置 ML2 插件后,删除
type_drivers选项中的值可能导致数据库不一致。在
[ml2]部分,启用端口安全扩展驱动程序[ml2] # ... extension_drivers = port_security
在
[ml2_type_flat]部分,将提供商虚拟网络配置为 flat 网络[ml2_type_flat] # ... flat_networks = provider
配置 Open vSwitch 代理¶
Linux 网桥代理为实例构建第二层(桥接和交换)虚拟网络基础设施并处理安全组。
编辑
/etc/neutron/plugins/ml2/openvswitch_agent.ini文件并完成以下操作在
[ovs]部分,将提供商虚拟网络映射到提供商物理网桥[ovs] bridge_mappings = provider:PROVIDER_BRIDGE_NAME
将
PROVIDER_BRIDGE_NAME替换为连接到底层提供商物理网络的网桥的名称。有关更多信息,请参阅 主机网络 和 Open vSwitch:提供商网络。确保
PROVIDER_BRIDGE_NAME外部网桥已创建,并且PROVIDER_INTERFACE_NAME已添加到该网桥# ovs-vsctl add-br $PROVIDER_BRIDGE_NAME # ovs-vsctl add-port $PROVIDER_BRIDGE_NAME $PROVIDER_INTERFACE_NAME
在
[securitygroup]部分,启用安全组并配置 Open vSwitch 本机或混合 iptables 防火墙驱动程序[securitygroup] # ... enable_security_group = true firewall_driver = openvswitch #firewall_driver = iptables_hybrid
如果使用混合 iptables 防火墙驱动程序,请确保您的 Linux 操作系统内核通过验证以下所有
sysctl值设置为1来支持网络桥接过滤器net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables
要启用网络桥接支持,通常需要加载
br_netfilter内核模块。有关启用此模块的更多详细信息,请查阅您的操作系统文档。
配置 DHCP 代理¶
DHCP 代理为虚拟网络提供 DHCP 服务。
编辑
/etc/neutron/dhcp_agent.ini文件并完成以下操作在
[DEFAULT]部分,配置 Dnsmasq DHCP 驱动程序,并启用隔离元数据,以便提供商网络上的实例可以通过网络访问元数据[DEFAULT] # ... dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = true
创建提供商网络¶
请参考通用安装指南中的 此提供商网络文档。
返回到网络控制器节点配置。