openstack: eth1 で静的 IP を使用して VM を構成する

openstack: eth1 で静的 IP を使用して VM を構成する

eth1 の静的 IP を持つ 2 つの信頼できる VM を作成しようとしていますが、静的アドレス間の ping が失敗します。

  • Havana ダッシュボードを使用して、10.16.1/24 サブネット、無効ゲートウェイ、有効 DHCP、範囲 10.16.1.100、10.16.1.120 のネットワークを作成しました。
  • それぞれ 2 つの NIC を持つ 4 つのインスタンスを起動しました。通常のパブリック インターフェイス用に eth0、10.16.1/24 サブネット用に eth1 です。
  • 2つのVMにログインし、eth1.cfgを作成し、DHCP用に構成しました
    自動 eth1
    iface eth1 inet dhcp
    
  • 他の2つのVMにログインし、静的情報で構成されたeth1.cfgを作成しました
    自動 eth1
    iface eth1 inet 静的
      アドレス 10.16.1.2
      ネットマスク 255.255.255.0
    
    • 各VMでeth1をifupする

各 DHCP 構成の VM から、他の DHCP 構成の VM に ping を実行できますが、静的に構成された VM には ping を実行できません。

静的に構成された VM からは、他の VM に ping できません。

また、ネットワーク用のルーターを作成し、インターフェイス 10.16.1.254 を追加してみました。しかし、明らかな変化はありませんでした。どちらの VM からもルーターに ping できません。

何が足りないのでしょうか?

答え1

詳細情報がなければ回答は困難です。同じネットワーク上にあるため、ファイアウォール ルールが問題になることはないと思われます。

Neutron または Nova を使用していますか。すべての Neutron サービスが正常に実行されていることを確認できますか?

neutron agent-list

少なくともネットワークが機能しているかどうかを確認できるように、DHCP を有効にすることは価値があるかもしれません。

また、VM は同じ物理ハイパーバイザー上に共存していますか、それとも 2 つに分散していますか。2 つに分散している場合は、VLAN を使用しており、それをサポートするようにスイッチを構成していますか。

Openstack によって予約されていない IP を静的に構成することは Icehouse より前では機能していましたが、そのリリースでの変更によって問題が発生する可能性があることを指摘しておく価値があります。

VMの1つをホストしているコンピューティングノードで、

iptables -S | more

出力でVMのMACアドレスを検索します。たとえば、私の場合は「FA:16:3E:D0:1A:5D」です。

次のような出力が表示されます。

-A neutron-openvswi-see719639-9 -s 192.168.0.83/32 -m mac --mac-source FA:16:3E:BB:75:7E -j RETURN
-A neutron-openvswi-see719639-9 -j DROP

つまり、192.168.0.83/32 宛ての MAC アドレスへのパケットのみが受け入れられます。

答え2

これは、Neutron DHCP 対応ネットワークで静的に構成された IP アドレスを取得しようとした以前の実験と一致していると思います。私の記憶では、あなたがしようとしていることは、その特定の Neutron ネットワークで DHCP が無効になっている場合は機能しますが、有効になっている場合は機能しません。

後者の場合、IP アドレスが割り当てられたこの VM インターフェース用の Neutron ポートが作成されます。この IP とサブネットに一致するようにゲスト VM を静的に構成すると、機能します。Neutron データベースの IP 以外の IP にゲストを静的に構成しようとすると、機能しません。少なくとも、これは IP スプーフィング保護の一種であり、同じネットワーク上の別の VM の IP を偽装することができないため、一般的には優れた保護となります。

したがって、1 つのオプションは、ネットワークに対して DHCP が無効になっているネットワークを使用することです。もう 1 つのオプションは、Neutron が割り当てたのと同じ IP に対して VM を静的に構成することです。

もう 1 つ、逸話があります。あるとき、特定の VLAN を介して外部ネットワークを OpenStack ネットワークにブリッジしました。このネットワークには、静的に構成された物理サーバーのみがあり、DHCP サーバーはありませんでした。OpenStack 側のネットワークは、DHCP を有効にして作成しました。同じ CIDR 上の既存の静的 IP と競合しない IP を割り当てるために、制限された allocation_range を使用してこれを行いました。Neutron は VM のブリッジ ポートのみを管理するため、ネットワーク上の他の静的に構成されたデバイス (OpenStack/Neutron の制御外) は、このネットワーク上の DHCP された VM と通信できます。ただし、この設定では、DHCP が有効になっている同じ Neutron ネットワーク上で、静的および DHCP VM/ゲストの混在を起動することはできません。

関連情報