ネットワークオプション 2: セルフサービスネットワーク

ネットワークオプション 2: セルフサービスネットワーク

コントローラー ノードにおいて、Networking のコンポーネントのインストールと設定を行います。

コンポーネントのインストール

# yum install openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables

サーバーコンポーネントの設定

  • /etc/neutron/neutron.conf ファイルを編集し、以下の作業をすべて行います。

    • [database] セクションで、データベースのアクセス方法を設定します。

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

      NEUTRON_DBPASS はデータベース用に選択したパスワードで置き換えます。

      注釈

      [database] セクションにある他の connection オプションは、コメントアウトまたは削除します。

    • [DEFAULT] セクションで、Modular Layer 2 (ML2) プラグイン、ルーターサービス、IP アドレス重複を有効にします。

      [DEFAULT]
      ...
      core_plugin = ml2
      service_plugins = router
      allow_overlapping_ips = True
      
    • [DEFAULT] セクションに、RabbitMQ メッセージキューのアクセス方法を設定します。

      [DEFAULT]
      ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller
      

      RABBIT_PASS を RabbitMQ の openstack アカウント用に選択したパスワードで置き換えます。

    • [DEFAULT] セクションと [keystone_authtoken] セクションに、Identity サービスへのアクセス方法を設定します。

      [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 を Identity サービスにおいて neutron ユーザー用に選択したパスワードで置き換えます。

      注釈

      [keystone_authtoken] セクションにある他のオプションは、コメントアウトまたは削除します。

    • [DEFAULT] セクションと [nova] セクションで、Networking が Compute にネットワークトポロジーの変更を通知するよう設定します。

      [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 は Identity サービスで nova ユーザー用に選択したパスワードで置き換えます。

    • [oslo_concurrency] セクションにロックパスを設定します。

      [oslo_concurrency]
      ...
      lock_path = /var/lib/neutron/tmp
      

ML2 プラグインの設定

ML2 プラグインは、Linux ブリッジ機構を使用して、インスタンス用の L2 (ブリッジとスイッチ) 仮想ネットワークインフラを構築します。

  • /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 ブリッジ機構および layer-2 population 機構を有効にします。

      [ml2]
      ...
      mechanism_drivers = linuxbridge,l2population
      

      警告

      ML2 プラグインの設定後に、type_drivers オプションから値を削除すると、データベース不整合が発生する可能性があります。

      注釈

      Linux ブリッジエージェントは、VXLAN オーバーレイネットワークのみをサポートします。

    • [ml2] セクションで、ポートセキュリティー拡張ドライバーを有効にします。

      [ml2]
      ...
      extension_drivers = port_security
      
    • [ml2_type_flat] セクションで、プロバイダー仮想ネットワークをフラットネットワークとして設定します。

      [ml2_type_flat]
      ...
      flat_networks = provider
      
    • [ml2_type_vxlan] セクションで、セルフサービスネットワーク用の VXLAN ネットワーク ID の範囲を設定します。

      [ml2_type_vxlan]
      ...
      vni_ranges = 1:1000
      
    • [securitygroup] セクションで、 ipset を有効にし、セキュリティーグループルールの効率性を向上させます。

      [securitygroup]
      ...
      enable_ipset = True
      

Linux ブリッジエージェントの設定

Linux ブリッジエージェントは、インスタンス用の L2 (ブリッジおよびスイッチ) 仮想ネットワークインフラを構築して、セキュリティーグループを処理します。

  • /etc/neutron/plugins/ml2/linuxbridge_agent.ini ファイルを編集し、以下の作業をすべて行います。

    • [linux_bridge] セクションにおいて、プロバイダー仮想ネットワークをプロバイダー物理ネットワークのインターフェースに対応付けます。

      [linux_bridge]
      physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
      

      PROVIDER_INTERFACE_NAME をプロバイダー物理ネットワークのインターフェース名で置き換えます。詳細は ホストネットワーク を参照してください。

    • [vxlan] セクションにおいて、VXLAN オーバーレイネットワークを有効にし、オーバーレイネットワークを処理する物理ネットワークインターフェースの IP アドレスを設定し、layer-2 population を有効にします。

      [vxlan]
      enable_vxlan = True
      local_ip = OVERLAY_INTERFACE_IP_ADDRESS
      l2_population = True
      

      OVERLAY_INTERFACE_IP_ADDRESS を、オーバーレイネットワークを処理するベースの物理ネットワークインターフェースの IP アドレスで置き換えます。サンプルアーキテクチャーでは、他のノードへのトラフィックをトンネリングするのに管理インターフェースを使用します。したがって、 OVERLAY_INTERFACE_IP_ADDRESS をコントローラーノードの管理用の IP アドレスで置き換えます。詳細は ホストネットワーク を参照してください。

    • [securitygroup] セクションで、セキュリティグループを有効にし、 Linux ブリッジ iptables ファイアウォールドライバーを設定します。

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

L3 エージェントの設定

L3 エージェント は、セルフサービスの仮想ネットワーク用のルーティングおよび NAT サービスを提供します。

  • /etc/neutron/l3_agent.ini ファイルを編集して、以下の作業をすべて行います。

    • [DEFAULT] セクションで、Linux ブリッジインターフェースドライバー、外部ネットワークブリッジを設定します。

      [DEFAULT]
      ...
      interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
      

DHCP エージェントの設定

DHCP エージェント は、仮想ネットワーク向けに DHCP サービスを提供します。

  • /etc/neutron/dhcp_agent.ini ファイルを編集して、以下の作業をすべて行います。

    • [DEFAULT] セクションにおいて、Linux ブリッジインターフェースドライバー、Dnsmasq DHCP ドライバーを設定して、 isolated metadata を有効にします。これにより、プロバイダーネットワークにあるインスタンスがネットワーク経由でメタデータにアクセスできます。

      [DEFAULT]
      ...
      interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
      dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
      enable_isolated_metadata = True
      

Networking コントローラーノードの設定 に戻ります。

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.