none
Hyper-V ゲスト間通信 RRS feed

  • 質問

  • Hyper-Vをインストール後、2台のゲストOSを設定しました。
    ゲストとホスト間の通信はできます。
    ゲスト同士の通信がどうしてもできません。
    ゲスト間同士でPingはタイムアウトになってしまいます。
    ゲストの仮想ネットワークはそれぞれ異なる物理NICを使用して、外部接続として使用しています。
    各物理NICには、スイッチプロトコルのみバインドされています。
    ホスト上の、ホスト使用の仮想スイッチは、LANのネットワーク設定がされています
    ホスト上の、ゲスト使用の仮想スイッチは、何もバインドされていません。
    各ゲスト上のNICには使用しているLANのネットワーク設定が、静的に設定されています。

    設定がおかしいのでしょうか・・
    よろしくお願いします。



    2009年5月2日 19:19

回答

  • ひょっとして、以下のような構成になっているのでしょうか?

    子パーティションA -- 仮想NIC-A(外部) -- 物理NIC-A -- なにも接続されていない
    子パーティションB -- 仮想NIC-B(外部) -- 物理NIC-B -- なにも接続されていない

    もし、このようになっているのであれば、物理NIC-A/B 間がハブ等で物理接続されないと子パーティションどうしは通信できません。

    テスト環境であれば、子パーティションで同一仮想NICを使った構成にすると良いでしょう。


    MVP for Virtual Machine : Networking
    2009年5月2日 22:31
    モデレータ
  • ちなみに、各子パーティションに割り当てた IP と サブネットマスどのように設定されています?
    同一仮想NICにしても状況は同じですか?

    # ウチではそのような環境にテストも含めて3-8台稼働させていますが、相互通信できています
    2009年5月3日 10:57
  • >各物理NICにIPを割り当て、PINGを相互に飛ばしましたが

    物理NICにIP... というのが少し気になったのですが。

    すでに、サブネットを含めた確認などされてるかもしれませんが、
    この物理NIC2つは、サブネットが異なっているネットワークでしょうか。
    (ホスト上で、物理NICでなく仮想NICにIPアドレスを振っているのであれば、
      そのIPアドレスは仮想NIC間で、異なるサブネットでしょうか)


    私がHyper-Vネットワークをいじりすぎて混乱した経験からすると、
    物理NICは、
      Microsoft仮想ネットワークスイッチプロトコル
      だけが on
    で、
    その物理NICに紐付いてる仮想NICに、
      Microsoft仮想ネットワークスイッチプロトコル
      以外がon
    の状態になってると、
    仮想NICのIPアドレス、ルーティングで考えたとおりに通信できるので、
    わりと、すっきりと、ネットワークトポロジを考えられます。

    前にも、似たことを書いたので、参考にしてください。
    http://social.technet.microsoft.com/Forums/ja-JP/hypervja/thread/fc7c8322-aeff-4377-8fe5-9e7dd7add7d1

    2009年5月3日 12:21
  • |現在の仮想環境設定時には
    |
    |親パーティション
    |物理NICには、スイッチプロトコルのみバインド
    |物理NICに紐付いている仮想NICは、全てOFF IPアドレス設定なし
    |子パーティションNICは、192.168.1.0/24のIPアドレスを割り当て
    |
    |状況は
    |親⇔子 通信OK
    |子⇔子 通信NG
    |です

    的外れですとあれですが..

    ホストの仮想NIC/物理NICのいずれにもIPアドレスがない、という状況でしょうか。
    すみません、なぜ親<=>子間で通信できるのか、不思議な気がしてきました。

    ホスト上のルーティングテーブルはどうなっていますでしょうか。

    子<=>子の通信ができないのは、ルーティングの問題のような気がします。
    子の中のNICに対するルーティング、親のNICに対するルーティングそれぞれ、どうなっていますでしょうか。

    --
    私信.
    少し勘違いがあって、コメント修正させていただきました。申し訳ありません。
    2009年5月3日 17:19
  • > そもそも同じネットワーク内での通信に、ルーティングテーブルは必要なのでしょうか?
    不要ですね。個別のルーティングテーブルが必要なケースは、1セグメントに複数のルータ等のL3中継装置が接続されており、L3中継装置を越えた通信をする必要があるときのみです。
    L3中継装置が1つのみの場合はデフォルトゲートウェイの設定だければ良いです。
    どんなに数多くのNICを搭載していても、Windows Server 2008をルータやRASとして機能させないのならRRASの導入は不要で、個別ルーティングテーブルの追加が必要な時は「route addd」コマンドで追加ができます。
    つまり、Hyper-Vの親パーティションでは、基本的にHyper-V以外の役割や機能は不要です。

    問題を単純化するために、「内部」か「プライベート」仮想ネットワークを1つ作成し、子パーティションをこの仮想ネットワーク接続して子パーティションの相互通信ができるか確認してください。
    MVP for Virtual Machine : Networking
    2009年5月3日 21:01
    モデレータ
  • こんにちわ。tenki28です。

    もしまだ解決していなければ・・。

    最後のコメントを見ていて、NICが3つあるようにも見えたのですが、
    実際は2つであっていますか?

    両方の仮想ネットワークを外部接続にして、
    子パーティションからインターネットへの接続など、親以外の端末への接続はできますか?
    逆に、親以外の端末から、子パーティションへのPingはどうでしょう?
    2009年5月23日 11:11

すべての返信

  • ひょっとして、以下のような構成になっているのでしょうか?

    子パーティションA -- 仮想NIC-A(外部) -- 物理NIC-A -- なにも接続されていない
    子パーティションB -- 仮想NIC-B(外部) -- 物理NIC-B -- なにも接続されていない

    もし、このようになっているのであれば、物理NIC-A/B 間がハブ等で物理接続されないと子パーティションどうしは通信できません。

    テスト環境であれば、子パーティションで同一仮想NICを使った構成にすると良いでしょう。


    MVP for Virtual Machine : Networking
    2009年5月2日 22:31
    モデレータ
  • Murashima様
    レスありがとうございます。

    はい、仮想NICはそれぞれ物理NICを割り当て、外部接続で使用しています。
    物理的な接続の話をしますと、その各物理NICは、ストレートケーブルでスイッチに接続されています。
    各物理NICにIPを割り当て、PINGを相互に飛ばしましたが、互いに疎通が取れていること確認しました。

    ただ、子パーティションのOS上からPINGを飛ばすと、子パーティション同士通信ができないのです。

    同一仮想NICを使って、子パーティションのネットワークを構成しましたが
    親⇔子 通信OK
    子⇔子 通信NG
    の状態です。
    2009年5月3日 5:41
  • ちなみに、各子パーティションに割り当てた IP と サブネットマスどのように設定されています?
    同一仮想NICにしても状況は同じですか?

    # ウチではそのような環境にテストも含めて3-8台稼働させていますが、相互通信できています
    2009年5月3日 10:57
  • >各物理NICにIPを割り当て、PINGを相互に飛ばしましたが

    物理NICにIP... というのが少し気になったのですが。

    すでに、サブネットを含めた確認などされてるかもしれませんが、
    この物理NIC2つは、サブネットが異なっているネットワークでしょうか。
    (ホスト上で、物理NICでなく仮想NICにIPアドレスを振っているのであれば、
      そのIPアドレスは仮想NIC間で、異なるサブネットでしょうか)


    私がHyper-Vネットワークをいじりすぎて混乱した経験からすると、
    物理NICは、
      Microsoft仮想ネットワークスイッチプロトコル
      だけが on
    で、
    その物理NICに紐付いてる仮想NICに、
      Microsoft仮想ネットワークスイッチプロトコル
      以外がon
    の状態になってると、
    仮想NICのIPアドレス、ルーティングで考えたとおりに通信できるので、
    わりと、すっきりと、ネットワークトポロジを考えられます。

    前にも、似たことを書いたので、参考にしてください。
    http://social.technet.microsoft.com/Forums/ja-JP/hypervja/thread/fc7c8322-aeff-4377-8fe5-9e7dd7add7d1

    2009年5月3日 12:21
  • WorkerHolic様
    レスありがとうございます

    はい、子パーティションに割り当てたIPアドレスは192.168.1.0/24です
    全てのパーティションはこのネットワークの設定です。

    同一仮想NIC自体には、何もバインドしていません。
    同一仮想NICの物理NICには、スイッチプロトコルのみバインドされています。

    2009年5月3日 14:14
  • knoji様
    レスありがとうございます

    はい、物理NICにIP・・という説明は
    仮想環境でない時に、各物理NICに同じ192.168.1.0/24のIPアドレスを割り当て
    PINGで疎通確認したという意味です。

    現在の仮想環境設定時には

    親パーティション
    物理NICには、スイッチプロトコルのみバインド
    物理NICに紐付いている仮想NICは、全てOFF IPアドレス設定なし
    子パーティションNICは、192.168.1.0/24のIPアドレスを割り当て

    状況は
    親⇔子 通信OK
    子⇔子 通信NG
    です

    以前の設定で

    親パーティション
    物理NICには、スイッチプロトコルのみバインド
    物理NICに紐付いている仮想NICは、スイッチプロトコル以外ON IPアドレス 192.168.1.0/24
    子パーティションNICは、192.168.1.0/24のIPアドレスを割り当てましたが

    状況は同じ
    親⇔子 通信OK
    子⇔子 通信NG
    でした

     

    2009年5月3日 15:04
  • |現在の仮想環境設定時には
    |
    |親パーティション
    |物理NICには、スイッチプロトコルのみバインド
    |物理NICに紐付いている仮想NICは、全てOFF IPアドレス設定なし
    |子パーティションNICは、192.168.1.0/24のIPアドレスを割り当て
    |
    |状況は
    |親⇔子 通信OK
    |子⇔子 通信NG
    |です

    的外れですとあれですが..

    ホストの仮想NIC/物理NICのいずれにもIPアドレスがない、という状況でしょうか。
    すみません、なぜ親<=>子間で通信できるのか、不思議な気がしてきました。

    ホスト上のルーティングテーブルはどうなっていますでしょうか。

    子<=>子の通信ができないのは、ルーティングの問題のような気がします。
    子の中のNICに対するルーティング、親のNICに対するルーティングそれぞれ、どうなっていますでしょうか。

    --
    私信.
    少し勘違いがあって、コメント修正させていただきました。申し訳ありません。
    2009年5月3日 17:19
  • knoji様
    レスありがとうございます

    はい、現状は
    ホストの仮想NIC/物理NICのいずれにもIPアドレスが設定されていません
    しかし通信は

    親⇔子 通信OK

    なんです

    ホスト上のルーティングテーブルですが
    RRASを起動させ、ルーティング機能のみ有効にしています。
    手動でのルーティングテーブル等の設定は行っていません
    RRASを起動させる前は、親⇔子 通信ですらNGでした。

    不見識で申し訳ないですが、仮想環境といえども
    そもそも同じネットワーク内での通信に、ルーティングテーブルは必要なのでしょうか?

    よろしくお願い致します。

    2009年5月3日 17:46
  • > そもそも同じネットワーク内での通信に、ルーティングテーブルは必要なのでしょうか?
    不要ですね。個別のルーティングテーブルが必要なケースは、1セグメントに複数のルータ等のL3中継装置が接続されており、L3中継装置を越えた通信をする必要があるときのみです。
    L3中継装置が1つのみの場合はデフォルトゲートウェイの設定だければ良いです。
    どんなに数多くのNICを搭載していても、Windows Server 2008をルータやRASとして機能させないのならRRASの導入は不要で、個別ルーティングテーブルの追加が必要な時は「route addd」コマンドで追加ができます。
    つまり、Hyper-Vの親パーティションでは、基本的にHyper-V以外の役割や機能は不要です。

    問題を単純化するために、「内部」か「プライベート」仮想ネットワークを1つ作成し、子パーティションをこの仮想ネットワーク接続して子パーティションの相互通信ができるか確認してください。
    MVP for Virtual Machine : Networking
    2009年5月3日 21:01
    モデレータ
  • Murashima様
    レスありがとうございます。

    内部ネットワークを1つ作成して、各子パーティションで使用しましたが
    子⇔子通信はNGでした

    プライベートネットワークを1つ作成して、各子パーティションで使用しましたが
    子⇔子通信はNGでした

    また、内部ネットワークを使用した場合、親⇔子通信もNGになってしまいました。

    現状のサーバー環境、物理NIC、仮想NICの設定をまとめてみました。

    OS
    親パーティション(2008EnterPrise)
    子パーティション×2(2008EnterPrise)

    親パーティションNIC
    物理NIC スイッチプロトコルのみバインド
    仮想NIC IP4バインド(192.168.1.0/24)

    子パーティション×2NIC
    物理NIC スイッチプロトコルのみバインド
    仮想NIC なにもバインドされていない
    VMBUS  IP4バインド(192.168.1.0/24)

    仮想ネットワーク
    仮想ネットワーク1(外部接続) 親パーティション使用
    仮想ネットワーク2(内部接続) 各子パーティション使用



    2009年5月5日 2:16
  • こんにちわ。tenki28です。

    もしまだ解決していなければ・・。

    最後のコメントを見ていて、NICが3つあるようにも見えたのですが、
    実際は2つであっていますか?

    両方の仮想ネットワークを外部接続にして、
    子パーティションからインターネットへの接続など、親以外の端末への接続はできますか?
    逆に、親以外の端末から、子パーティションへのPingはどうでしょう?
    2009年5月23日 11:11
  • こんにちは、フォーラムオペレーターの鈴木裕子です(^O^)/

    Murashima Syuichi さん、WorkerHolic さん、knoji さん、TENKI28 さん、回答ありがとうございました!

    Hyper-W さん、投稿から時間が経過しましたので既に解決済みではないかと思っているのですが・・・その後いかがでしたか?
    その後の状況が気になってはいるのですが、内容的に、同様の現象に遭遇する方がいらっしゃるのではないかと思いまして、既に環境構築をされている方の情報は大変参考になりますので、勝手ながら私の方で[回答としてマーク]をつけさせていただきました。
    もちろん質問主はHyper-W さんですので、引き続きの質問がある場合や、チェックが不適当と思われた場合には、遠慮なくチェックを解除してください。

    お時間のある時で良いので、その後の経過などをお知らせいただけるととても嬉しいです(^-^)
    これからも、皆様の情報交換の場としてForumを活用してくださいね。ご質問、コメント、どちらのご参加もお待ちしています!


    マイクロソフト株式会社 フォーラムオペレーター 鈴木裕子
    2009年6月18日 6:46
    モデレータ