Mit OpenStack Networking können Sie Schnittstellengeräte erstellen oder an Netzwerke anschließen. Dieses Handbuch hilft Ihnen bei der Konfiguration von Neutron (Networking) in der OpenStack-Umgebung. Neutron verwaltet alle netzwerkbezogenen Dinge, die für die virtuelle Netzwerkinfrastruktur erforderlich sind, es stellt die Netzwerke, Subnetze und Router-Objektabstraktionen bereit.
Installieren und konfigurieren Sie den Controller-Knoten:
Bevor wir den Neutron-Dienst konfigurieren, müssen wir eine Datenbank, einen Dienst und einen API-Endpunkt erstellen.
Melden Sie sich als Root beim MySQL-Server an.
# mysql -u root -p
Create the neutron database.
CREATE DATABASE neutron;
Gewähren Sie der Neutronendatenbank eine ordnungsgemäße Berechtigung.
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'password';
Ersetzen Sie „Passwort“ durch ein passendes Passwort. Beenden Sie MySQL.
Laden Sie Ihre Admin-Anmeldeinformationen aus dem Umgebungsskript.
# source admin-openrc.sh
Erstellen Sie den Neutron-Benutzer zum Erstellen von Service-Anmeldeinformationen.
# openstack user create --password-prompt neutron User Password: Repeat User Password: +----------+----------------------------------+ | Field | Value | +----------+----------------------------------+ | email | None | | enabled | True | | id | ac5ee3286887450d911b82d4e263e1c9 | | name | neutron | | username | neutron | +----------+----------------------------------+
Fügen Sie dem Neutron-Benutzer die Administratorrolle hinzu.
# openstack role add --project service --user neutron admin +-------+----------------------------------+ | Field | Value | +-------+----------------------------------+ | id | 33af4f957aa34cc79451c23bf014af6f | | name | admin | +-------+----------------------------------+
Erstellen Sie die Neutronendienstentität.
# openstack service create --name neutron --description "OpenStack Networking" network +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Networking | | enabled | True | | id | 95237876259e44d9a1a926577b786875 | | name | neutron | | type | network | +-------------+----------------------------------+
Erstellen Sie den API-Endpunkt des Neutronendienstes.
# openstack endpoint create \ --publicurl http://controller:9696 \ --adminurl http://controller:9696 \ --internalurl http://controller:9696 \ --region RegionOne \ network +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | adminurl | http://controller:9696 | | id | ed46eb46c27e4f2b9a58ff574f43d0cb | | internalurl | http://controller:9696 | | publicurl | http://controller:9696 | | region | RegionOne | | service_id | 95237876259e44d9a1a926577b786875 | | service_name | neutron | | service_type | network | +--------------+----------------------------------+
Installieren und konfigurieren Sie Netzwerkkomponenten auf dem Controller-Knoten:
# apt-get install neutron-server neutron-plugin-ml2 python-neutronclient
Bearbeiten Sie die /etc/neutron/neutron.conf.
# nano /etc/neutron/neutron.conf
Ändern Sie die folgenden Einstellungen und stellen Sie sicher, dass Sie Einträge in den richtigen Abschnitten platzieren.
[DEFAULT] ... verbose = True rpc_backend = rabbit auth_strategy = keystone core_plugin = ml2 service_plugins = router allow_overlapping_ips = True notify_nova_on_port_status_changes = True notify_nova_on_port_data_changes = True nova_url = http://controller:8774/v2 [oslo_messaging_rabbit] ... rabbit_host = controller rabbit_userid = openstack rabbit_password = password ## Replace "password" with the password you chose for the openstack account in RabbitMQ [database] ... connection = mysql://neutron:password@controller/neutron ## Replace "password" with the password you chose for neutron database [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = neutron password = password ## Replace "password" with the password you chose for neutron user in the identity service. [nova] ... auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default region_name = RegionOne project_name = service username = nova password = password ## Replace "password" with the password you chose for nova user in the identity service.
Modular Layer 2 (ML2)-Plugin konfigurieren:
Bearbeiten Sie die Datei /etc/neutron/plugins/ml2/ml2_conf.ini
# nano /etc/neutron/plugins/ml2/ml2_conf.ini
Ändern Sie die folgenden Strophen.
[ml2] ... type_drivers = flat,vlan,gre,vxlan tenant_network_types = gre mechanism_drivers = openvswitch [ml2_type_gre] ... tunnel_id_ranges = 1:1000 [securitygroup] ... enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
Konfigurieren Sie Compute für die Verwendung von Networking, bearbeiten Sie /etc/nova/nova.conf auf dem Controller-Knoten.
# nano /etc/nova/nova.conf
Ändern Sie die folgenden Einstellungen und stellen Sie sicher, dass Sie Einträge in den richtigen Abschnitten platzieren.
[DEFAULT] ... network_api_class = nova.network.neutronv2.api.API security_group_api = neutron linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver firewall_driver = nova.virt.firewall.NoopFirewallDriver [neutron] url = http://controller:9696 auth_strategy = keystone admin_auth_url = http://controller:35357/v2.0 admin_tenant_name = service admin_username = neutron admin_password = password ## Replace "password" with the password you chose for neutron user in the identity service
Hinweis:Wenn Sie keinen bestimmten Abschnitt haben, erstellen Sie Strophen und platzieren Sie sie darin.
Füllen Sie die Neutronendatenbank.
# 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
Starten Sie den Rechen- und Netzwerkdienst auf dem Controller-Knoten neu.
# service nova-api restart # service neutron-server restart
Überprüfen Sie es, indem Sie geladene Erweiterungen auflisten.
# neutron ext-list +-----------------------+-----------------------------------------------+ | alias | name | +-----------------------+-----------------------------------------------+ | security-group | security-group | | l3_agent_scheduler | L3 Agent Scheduler | | net-mtu | Network MTU | | ext-gw-mode | Neutron L3 Configurable external gateway mode | | binding | Port Binding | | provider | Provider Network | | agent | agent | | quotas | Quota management support | | subnet_allocation | Subnet Allocation | | dhcp_agent_scheduler | DHCP Agent Scheduler | | l3-ha | HA Router extension | | multi-provider | Multi Provider Network | | external-net | Neutron external network | | router | Neutron L3 Router | | allowed-address-pairs | Allowed Address Pairs | | extraroute | Neutron Extra Route | | extra_dhcp_opt | Neutron Extra DHCP opts | | dvr | Distributed Virtual Router | +-----------------------+-----------------------------------------------+
Als nächstes müssen Sie den Netzwerkknoten installieren und konfigurieren.