Réseau Option 1: Réseaux fournisseurs

Réseau Option 1: Réseaux fournisseurs

Installer let configurer les composants réseau sur le nœud contrôleur.

Installer les composants

# apt-get install neutron-server neutron-plugin-ml2 \
  neutron-plugin-linuxbridge-agent neutron-dhcp-agent \
  neutron-metadata-agent python-neutronclient conntrack

Configurer le composant serveur

La configuration du composant serveur de Réseau inclut la base de données, le mécanisme d’authentification, la file de messages, les notifications de changement de topologie, et les plugins.

Note

Les fichiers de configuration par défaut diffèrent par distribution. Vous pouvez être amenés à ajouter ces sections et options plutôt que de modifier des sections et options existantes. De plus, une ellipse (...) dans l’extrait de configuration indique d’éventuelles options de configuration par défaut que vous devriez conserver.

  • Editer le fichier /etc/neutron/neutron.conf et effectuer les modifications suivantes:

    • Dans la section [database], configurez l’accès à la base de données:

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

      Remplacer NEUTRON_DBPASS par le mot de passe choisi pour la base de données.

    • Dans la section [DEFAULT], activer le plugin Modular Layer 2 (ML2) et désactiver les plugins additionnels:

      [DEFAULT]
      ...
      core_plugin = ml2
      service_plugins =
      
    • Dans les sections [DEFAULT] et [oslo_messaging_rabbit], configurer l’accès à la file de message RabbitMQ:

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

      Remplacer RABBIT_PASS par le mot de passe choisi pour le compte openstack dans RabbitMQ.

    • Dans la section [DEFAULT] et [keystone_authtoken], configurer l’accès au service d’Identité:

      [DEFAULT]
      ...
      auth_strategy = keystone
      
      [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 = NEUTRON_PASS
      

      Remplacer NEUTRON_PASS par le mot de passe choisi pour l’utilisateur neutron dans le service d’Identité.

      Note

      Commenter ou supprimer toute autre option dans la section [keystone_authtoken].

    • Dans les sections [DEFAULT] et [nova], configurer le composant Réseau pour notifier le Compute des changements de topologie réseau:

      [DEFAULT]
      ...
      notify_nova_on_port_status_changes = True
      notify_nova_on_port_data_changes = True
      nova_url = http://controller:8774/v2
      
      [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 = NOVA_PASS
      

      Remplacer NOVA_PASS par le mot de passe choisi pour l’utilisateur nova dans le service d’Identité.

    • (Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :

      [DEFAULT]
      ...
      verbose = True
      

Configurer le plugin Modular Layer 2 (ML2)

Le plugin ML2 utilise le mécanisme Linux bridge pour construire l’infrastructure réseau virtuel de niveau-2 (bridging and switching) pour les instances.

  • Editer le fichier /etc/neutron/plugins/ml2/ml2_conf.ini et effectuer les modifications suivantes:

    • Dans la section [ml2], activer les réseaux flat et VLAN:

      [ml2]
      ...
      type_drivers = flat,vlan
      
    • Dans la section [ml2], désactiver les réseaux de projet (privés):

      [ml2]
      ...
      tenant_network_types =
      
    • Dans la section [ml2], activer le mécanisme Linux bridge:

      [ml2]
      ...
      mechanism_drivers = linuxbridge
      

      Avertissement

      Après avoir configuré le plugin ML2, la suppression de valeurs dans l’option type_drivers peut conduire à une incohérence dans la base de données.

    • Dans la section [ml2], activer le driver d’extension sécurité des ports:

      [ml2]
      ...
      extension_drivers = port_security
      
    • Dans la section [ml2_type_flat], configurer le réseau plat fournisseur d’accès public:

      [ml2_type_flat]
      ...
      flat_networks = public
      
    • Dans la section [securitygroup], activer ipset pour augmenter l’efficacité des règles des groupes de sécurité:

      [securitygroup]
      ...
      enable_ipset = True
      

Configurer l’agent Linux bridge

L’agent Linux bridge construit l’infrastructure de réseau virtuel de niveau-2 (bridging and switching) pour les instances incluant des tunnels VXLAN pour les réseaux privés et gère les groupes de sécurité.

  • Editer le fichier /etc/neutron/plugins/ml2/linuxbridge_agent.ini et effectuer les modifications suivantes:

    • Dans la section [linux_bridge], faire correspondre le réseau virtuel public à l’interface réseau physique publique:

      [linux_bridge]
      physical_interface_mappings = public:PUBLIC_INTERFACE_NAME
      

      Remplacer PUBLIC_INTERFACE_NAME par le nom de l’interface sous-jacente sur le réseau physique public.

    • Dans la section [vxlan], désactiver la superposition de réseaux VXLAN:

      [vxlan]
      enable_vxlan = False
      
    • Dans la section [agent], activer la protection contre l’usurpation ARP (ARP spoofing):

      [agent]
      ...
      prevent_arp_spoofing = True
      
    • Dans la section [securitygroup], activer les groupes de sécurité et configurer le driver firewall Linux bridge iptables:

      [securitygroup]
      ...
      enable_security_group = True
      firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
      

Configurer l’agent DHCP

L’agent DHCP fournit les services DHCP aux réseaux virtuels.

  • Editer le fichier /etc/neutron/dhcp_agent.ini et effectuer les modifications suivantes:

    • Dans la section [DEFAULT], configurer le driver d’interface Linux bridge, le driver DHCP Dnsmasq, et activer les metadata isolées pour que les instances sur les réseaux public puissent accéder aux metadata à travers le réseau:

      [DEFAULT]
      ...
      interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
      dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
      enable_isolated_metadata = True
      
    • (Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :

      [DEFAULT]
      ...
      verbose = True
      

Retourner à Configuration du nœud contrôleur pour le réseau.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.