7.2. OpenStack Networking の設定


重要

Red Hat Openstack Platform のカスタマイズなしの状態では、/etc/nova/nova.conf[DEFAULT] セクションの vif_plugging_is_fatal オプションはデフォルトで True となっています。このオプションは、VIF プラグに失敗した場合にインスタンスが機能しないようにするかどうかを制御します。同様に、/etc/neutron/neutron.conf ファイルの [DEFAULT] セクションの notify_nova_on_port_status_changes および notify_nova_on_port_data_changes オプションはデフォルトで False に指定されています。これらのオプションは、ポートの状態またはデータの変更に関する通知を nova に送信するかどうかを制御します。ただし、これらの値の組み合わせが原因でインスタンスが起動しなくなる可能性があります。インスタンスを正しく起動できるようにするには、これらすべてのオプションを True または False に設定してください。True に設定するには、以下のコマンドを実行してください。
# openstack-config --set /etc/nova/nova.conf \
DEFAULT vif_plugging_is_fatal True
# openstack-config --set /etc/neutron/neutron.conf \
DEFAULT notify_nova_on_port_status_changes True
# openstack-config --set /etc/neutron/neutron.conf \
DEFAULT notify_nova_on_port_data_changes True
Copy to Clipboard Toggle word wrap
False に設定するには、代わりに以下のコマンドを実行します。
# openstack-config --set /etc/nova/nova.conf \
DEFAULT vif_plugging_is_fatal False
# openstack-config --set /etc/neutron/neutron.conf \
DEFAULT notify_nova_on_port_status_changes False
# openstack-config --set /etc/neutron/neutron.conf \
DEFAULT notify_nova_on_port_data_changes False
Copy to Clipboard Toggle word wrap

7.2.1. OpenStack Networking プラグインの設定

OpenStack Networking プラグインは、以下に示す例のように neutron.conf で長いクラス名ではなく、指定した短い名前で参照することができます。
core_plugin = neutron.plugins.ml2.plugin:Ml2Plugin
Copy to Clipboard Toggle word wrap
上記の代わりに以下のように参照することができます。
core_plugin = ml2
Copy to Clipboard Toggle word wrap
誤って空白文字を入れないように気をつけてください。空白文字によって解析エラーが発生する可能性があります。
service_plugins オプションには、複数のサービスプラグインをコンマ区切りリストで指定することができます。
Expand
表7.1 service_plugins
ショートネーム クラス名
dummy neutron.tests.unit.dummy_plugin:DummyServicePlugin
router neutron.services.l3_router.l3_router_plugin:L3RouterPlugin
firewall neutron.services.firewall.fwaas_plugin:FirewallPlugin
lbaas neutron.services.loadbalancer.plugin:LoadBalancerPlugin
metering neutron.services.metering.metering_plugin:MeteringPlugin

7.2.1.1. ML2 プラグインの有効化

neutron-server サービスを実行しているノードで、ML2 プラグインを有効化します。

手順7.1 ML2 プラグインの有効化

  1. OpenStack Networking を ml2_conf.ini ファイルにダイレクトするためのシンボリックリンクを作成します。
    # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
    Copy to Clipboard Toggle word wrap
  2. テナントのネットワーク種別を設定します。サポートされる値は、grelocalvlanvxlan です。デフォルト値は local ですが、エンタープライズのデプロイメントには推奨していません。
    # openstack-config --set /etc/neutron/plugin.ini \
       ml2 tenant_network_types TYPE
    Copy to Clipboard Toggle word wrap
    TYPE は、テナントのネットワーク種別に置き換えます。
  3. flat または vlan ネットワークが選択されている場合は、物理ネットワークを VLAN 範囲にマッピングする必要もあります。
    # openstack-config --set /etc/neutron/plugin.ini \
       ml2 network_vlan_ranges NAME:START:END
    Copy to Clipboard Toggle word wrap
    以下の値を置き換えてください。
    • NAME は、物理ネットワーク名に置き換えます。
    • START は、VLAN 範囲の開始を示す識別子に置き換えます。
    • END は、VLAN 範囲の終了を示す識別子に置き換えます。
    以下の例のようにコンマ区切りリストを使用して、複数の範囲を指定することができます。
    physnet1:1000:2999,physnet2:3000:3999
    Copy to Clipboard Toggle word wrap
  4. ドライバー種別を設定します。サポートされる値は localflatvlangrevxlan です。
    # openstack-config --set /etc/neutron/plugin.ini \
       ml2 type_drivers TYPE
    Copy to Clipboard Toggle word wrap
    TYPE は、ドライバーの種別に置き換えます。複数のドライバーを指定する場合は、コンマ区切りリストを使用します。
  5. メカニズムドライバーを設定します。利用可能な値は、openvswitchlinuxbridgel2population です。
    # openstack-config --set /etc/neutron/plugin.ini \
       ml2 mechanism_drivers TYPE
    Copy to Clipboard Toggle word wrap
    TYPE は、メカニズムドライバーの種別に置き換えます。複数のメカニズムドライバーを指定する場合は、コンマ区切りリストを使用します。
  6. L2 Population を有効化します。
    # openstack-config --set /etc/neutron/plugin.ini \
       agent l2_population True
    Copy to Clipboard Toggle word wrap
  7. 使用しているプラグインエージェントに合わせて、/etc/neutron/plugins/ml2/openvswitch_agent.ini ファイルまたは /etc/neutron/plugins/ml2/linuxbridge_agent.ini ファイルでファイアウォールドライバーを設定します。
    1. Open vSwitch ファイアウォールドライバー

      # openstack-config --set /etc/neutron/plugins/ml2/openvswitch_agent.ini
         securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
      Copy to Clipboard Toggle word wrap
    2. Linux Bridge ファイアウォールドライバー

      # openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini					   
         securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
      Copy to Clipboard Toggle word wrap
  8. ML2 プラグインおよび L3 ルーターを有効化します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT core_plugin ml2
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT service_plugins router
    Copy to Clipboard Toggle word wrap

7.2.2. OpenStack Networking データベースの作成

OpenStack Networking を使用するデータベースおよびデータベースユーザーを作成します。この手順に記載するステップはすべて、neutron-server サービスを起動する前に、データベースサーバーにroot ユーザーとしてログインして実行する必要があります。

手順7.2 OpenStack Networking データベースの作成

  1. データベースサービスに接続します。
    # mysql -u root -p
    Copy to Clipboard Toggle word wrap
  2. 以下の名前のいずれかを指定してデータベースを作成します。
    • ML2 プラグインを使用する場合に、推奨されるデータベース名は neutron_ml2 です。
    • Open vSwitch プラグインを使用する場合に、推奨されるデータベース名は ovs_neutron です。
    • Linux Bridge プラグインを使用する場合に、推奨されるデータベース名は neutron_linux_bridge です。
    以下の例では ML2 用の neutron_ml2 データベースを作成します。
    mysql> CREATE DATABASE neutron_ml2 character set utf8;
    Copy to Clipboard Toggle word wrap
  3. neutron データベースユーザーを作成し、neutron_ml2 データベースへのアクセスを許可します。
    mysql> GRANT ALL ON neutron_ml2.* TO 'neutron'@'%' IDENTIFIED BY 'PASSWORD';
    mysql> GRANT ALL ON neutron_ml2.* TO 'neutron'@'localhost' IDENTIFIED BY 'PASSWORD';
    Copy to Clipboard Toggle word wrap
    PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。
  4. データベースの特権をフラッシュして、設定が即時に反映されるようにします。
    mysql> FLUSH PRIVILEGES;
    Copy to Clipboard Toggle word wrap
  5. mysql クライアントを終了します。
    mysql> quit
    Copy to Clipboard Toggle word wrap

7.2.3. OpenStack Networking データベース接続の設定

OpenStack Networking で使用するデータベース接続は /etc/neutron/plugin.ini ファイルで定義します。有効なデータベースサーバーを参照するように更新してから、サービスを起動する必要があります。以下の手順で記載のステップはすべて、OpenStack Networking をホストするサーバーに root ユーザーでログインして実行する必要があります。

手順7.3 OpenStack Networking SQL データベース接続の設定

  1. connection 設定キーの値を設定します。
    # openstack-config --set /etc/neutron/plugin.ini \
       DATABASE sql_connection mysql://USER:PASS@IP/DB
    Copy to Clipboard Toggle word wrap
    以下の値を置き換えてください。
    • USER は、OpenStack Networking データベースのユーザー名 (通常は neutron) に置き換えます。
    • PASS は選択したデータベースユーザーのパスワードに置き換えます。
    • IP は、データベースサーバーの IP アドレスまたはホスト名に置き換えます。
    • DB は、OpenStack Networking データベースの名前に置き換えます。

    重要

    この接続設定キーに指定する IP アドレスまたはホスト名は、OpenStack Networking データベースの作成時に OpenStack Networking データベースユーザーがアクセスを許可された IP アドレスまたはホスト名と一致する必要があります。また、データベースがローカルでホストされ、OpenStack Networking データベースの作成時に「localhost」へのアクセス権を付与した場合には、「localhost」と入力する必要があります。
  2. OpenStack Networking のデータベーススキーマをアップグレードします。
    # neutron-db-manage --config-file /usr/share/neutron/neutron-dist.conf \
       --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head
    Copy to Clipboard Toggle word wrap

7.2.4. OpenStack Networking 用のアイデンティティーレコードの作成

OpenStack Networking で必要な Identity サービスを作成して設定します。これらのエントリーは、OpenStack Networking によって提供されるボリューム機能を検索してアクセスを試みる他の OpenStack サービスを補助します。
以下の手順では、管理ユーザーと services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
以下の手順は、Identity サービスのサーバーまたは keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。

手順7.4 OpenStack Networking 用のアイデンティティーレコードの作成

  1. Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
    # source ~/keystonerc_admin
    Copy to Clipboard Toggle word wrap
  2. neutron ユーザーを作成します。
    [(keystone_admin)]# openstack user create --password PASSWORD neutron
    +----------+----------------------------------+
    | Field    | Value                            |
    +----------+----------------------------------+
    | email    | None                             |
    | enabled  | True                             |
    | id       | 8f0d819a4ae54bf9b12d01d0fb095805 |
    | name     | neutron                          |
    | username | neutron                          |
    +----------+----------------------------------+
    Copy to Clipboard Toggle word wrap
    PASSWORD は、OpenStack Networking が Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。
  3. services テナントのコンテキスト内で、neutron ユーザーと admin ロールを関連付けます。
    [(keystone_admin)]# openstack role add --project services --user neutron admin
    Copy to Clipboard Toggle word wrap
  4. neutron の OpenStack Networking サービスのエントリーを作成します。
    [(keystone_admin)]# openstack service create --name neutron \
       --description "OpenStack Networking" \
       network
    Copy to Clipboard Toggle word wrap
  5. neutron のエンドポイントエントリーを作成します。
    [(keystone_admin)]# openstack endpoint create
       --publicurl 'http://IP:9696' \
       --adminurl 'http://IP:9696' \
       --internalurl 'http://IP:9696' \
       --region RegionOne \
       neutron
    Copy to Clipboard Toggle word wrap
    IP は、OpenStack Networking ノードとして機能するサーバーの IP アドレスまたはホスト名に置き換えます。

7.2.5. OpenStack Networking の認証の設定

OpenStack Networking が認証に Identity サービスを使用するように設定します。以下の手順に記載するステップはすべて、OpenStack Networking をホストするサーバーに root ユーザーとしてログインして実行する必要があります。

手順7.5 OpenStack Networking サービスが Identity サービスを使用して認証を行うための設定

  1. 認証ストラテジーを keystone に設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT auth_strategy keystone
    Copy to Clipboard Toggle word wrap
  2. OpenStack Networking が使用する必要のある Identity サービスのホストを設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       keystone_authtoken auth_host IP
    Copy to Clipboard Toggle word wrap
    IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
  3. OpenStack Networking が正しいテナントとして認証を行うように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       keystone_authtoken admin_tenant_name services
    Copy to Clipboard Toggle word wrap
    services は、OpenStack Networking を使用するために作成したテナントの名前に置き換えます。本ガイドの例では、services を使用しています。
  4. OpenStack Networking が neutron の管理ユーザーアカウントを使用して認証を行うように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       keystone_authtoken admin_user neutron
    Copy to Clipboard Toggle word wrap
  5. OpenStack Networking が neutron の管理ユーザーアカウントのパスワードを使用して認証を行うように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       keystone_authtoken admin_password PASSWORD
    Copy to Clipboard Toggle word wrap
    PASSWORD は、neutron ユーザーの作成時に設定したパスワードに置き換えます。

7.2.6. OpenStack Networking のトラフィックを許可するためのファイアウォール設定

OpenStack Networking は、TCP ポート 9696 で接続を受信します。OpenStack Networking のファイアウォールは、このポートのネットワークトラフィックを許可するように設定する必要があります。以下の手順に記載するステップはすべて、OpenStack Networking をホストするサーバーに root ユーザーとしてログインして実行する必要があります。

手順7.6 OpenStack Networking のトラフィックを許可するためのファイアウォール設定

  1. テキストエディターで /etc/sysconfig/iptables ファイルを開きます。
  2. ポート 9696 で TCP トラフィックを許可する INPUT ルールを追加します。
    -A INPUT -p tcp -m multiport --dports 9696 -j ACCEPT
    Copy to Clipboard Toggle word wrap
  3. ファイアウォールがポート 4789 で VXLAN 接続を受け入れるように INPUT ルールを追加します。新しいルールは、トラフィックを REJECT する INPUT ルールの前に記載する必要があります。
    -A INPUT -p udp -m udp --dport 4789 -j ACCEPT
    Copy to Clipboard Toggle word wrap
  4. /etc/sysconfig/iptables ファイルへの変更を保存します。
  5. iptables サービスを再起動して、変更を有効にします。
    # systemctl restart iptables.service
    Copy to Clipboard Toggle word wrap

7.2.7. OpenStack Networking のための RabbitMQ メッセージブローカーの設定

RabbitMQ はデフォルト (かつ推奨の) メッセージブローカーです。RabbitMQ メッセージングサービスは、rabbitmq-server パッケージにより提供されます。以下の手順で記載する全ステップは、OpenStack Networking をホストするシステムに root ユーザーとしてログインして実行する必要があります。

手順7.7 OpenStack Networking サービスが RabbitMQ メッセージブローカーを使用するための設定

  1. RPC バックエンドとして RabbitMQ を設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT rpc_backend neutron.openstack.common.rpc.impl_kombu
    Copy to Clipboard Toggle word wrap
  2. OpenStack Networking が RabbitMQ ホストに接続するように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT rabbit_host RABBITMQ_HOST
    Copy to Clipboard Toggle word wrap
    RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。
  3. メッセージブローカーのポートを 5672 に設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT rabbit_port 5672
    Copy to Clipboard Toggle word wrap
  4. RabbitMQ の設定時に OpenStack Networking 用に作成した RabbitMQ ユーザー名とパスワードを設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT rabbit_userid neutron
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT rabbit_password NEUTRON_PASS
    Copy to Clipboard Toggle word wrap
    neutron および NEUTRON_PASS は、OpenStack Networking 用に作成した RabbitMQ ユーザー名とパスワードに置き換えます。
  5. RabbitMQ の起動時に、neutron ユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト / を介して行われます。Networking サービスがこの仮想ホストに接続されるように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT rabbit_virtual_host /
    Copy to Clipboard Toggle word wrap

7.2.8. OpenStack Networking とメッセージブローカーとの間の SSL 通信の有効化

メッセージブローカーで SSL を有効化した場合は、OpenStack Networking も相応に設定する必要があります。以下の手順では、エクスポートしたクライアントの証明書とキーファイルが必要です。これらのファイルのエクスポートの方法に関する説明は、「クライアント用 SSL 証明書のエクスポート」を参照してください。

手順7.8 OpenStack Networking と RabbitMQ メッセージブローカーとの間の SSL 通信の有効化

  1. メッセージブローカーとの SSL 通信を有効化します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT rabbit_use_ssl True
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT kombu_ssl_certfile /path/to/client.crt
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT kombu_ssl_keyfile /path/to/clientkeyfile.key
    Copy to Clipboard Toggle word wrap
    以下の値を置き換えてください。
    • /path/to/client.crt はエクスポートされたクライアント証明書の絶対パスに置き換えます。
    • /path/to/clientkeyfile.key はエクスポートされたキーファイルの絶対パスに置き換えます。
  2. 証明書がサードパーティーの認証局 (CA) によって署名されている場合には、次のコマンドを実行する必要もあります。
    # openstack-config --set /etc/neutron/neutron.conf \
     DEFAULT kombu_ssl_ca_certs /path/to/ca.crt
    Copy to Clipboard Toggle word wrap
    /path/to/ca.crt は、サードパーティー CA によって提供された CA ファイルの絶対パスに置き換えます (詳細は 「RabbitMQ メッセージブローカーでの SSL の有効化」 を参照)。
OpenStack Networking が Compute サービスとネットワークトポロジーの変更について通信するように設定します。

手順7.9 OpenStack Networking が Compute サービスとネットワークトポロジーの変更について通信するように設定する手順

  1. OpenStack Networking がコンピュートコントローラーノードに接続されるように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       nova url http://CONTROLLER_IP:9696
    Copy to Clipboard Toggle word wrap
    CONTROLLER_IP は、コンピュートコントローラーノードの IP アドレスまたはホスト名に置き換えます。
  2. nova ユーザーのユーザー名、パスワード、テナントを設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
        nova username nova
    # openstack-config --set /etc/neutron/neutron.conf \
       nova auth_type password
    # openstack-config --set /etc/neutron/neutron.conf \
       nova password PASSWORD
     # openstack-config --set /etc/neutron/neutron.conf \
       nova project_name SERVICES
    Copy to Clipboard Toggle word wrap
    SERVICES は、nova プロジェクトの現在の名前に、PASSWORD は、nova ユーザーの作成時に設定したパスワードに置き換えます。
  3. 管理者権限で、OpenStack Networking がコンピュートコントローラーノードに接続されるように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       DEFAULT nova auth_url http://CONTROLLER_IP:35357/v3
    Copy to Clipboard Toggle word wrap
    CONTROLLER_IP は、コンピュートコントローラーノードの IP アドレスまたはホスト名に置き換えます。
  4. OpenStack Networking がコンピュートコントローラーノードに対応する正しいリージョンを使用するように設定します。
    # openstack-config --set /etc/neutron/neutron.conf \
       nova region_name RegionOne
    Copy to Clipboard Toggle word wrap

7.2.10. OpenStack Networking の起動

neutron-server サービスを起動して、ブート時に起動するように設定します。
# systemctl start neutron-server.service
# systemctl enable neutron-server.service
Copy to Clipboard Toggle word wrap

重要

デフォルトでは、前のリリースとの後方互換性を維持するため、OpenStack Networking による IP アドレスの Classless Inter-Domain Routing (CIDR) チェックは有効化されていません。このようなチェックが必要な場合には、/etc/neutron/neutron.conf ファイルで force_gateway_on_subnet 設定キーの値を True に設定します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat