Hyper-vの mac アドレス の割り当てと 見かけの ネットワーク は、mac の衝突 を 引き起こす可能性があります 発行します




Hyper-Vの:MACの衝突を引き起こす可能性がありますMACアドレスの割り当てと見かけのネットワークの問題 MACは、各NICベンダーなど多くがそれらに割り当てられているその範囲からMACアドレスをオフに刻むこと。アドレスについての物理的なだけの世界では、通常は心配する必要はありません しかし、仮想環境で、あなたはダイナミックMACアドレスの割り当てを使用している場合は特に、もう少し注意する必要があります。 この投稿は、Hyper-Vは、動的MACアドレス、あなたが直面することができ、いくつかの潜在的な問題を割り当てる方法を見ます。 だから、多くの場合、それは人々が確認すると思いますが、そうでなければ説明できないネットワーク奇妙の根本的な原因であることができる最後のものになることができます。 ここでは代表的なMACの衝突問題のスクリーンショットです - pingが時々動作し、時には失敗する - これはローカル分離されたネットワーク上のすべてのです。 チュートリアルを開始するには、私はベースは、単一の物理NICを使用してサーバーにWindows Server 2008のインストールを持っている - ベスト・プラクティスに対して、それはデモの罰金提供しています。 私はすでにサーバーにRTMアップデート(KB950050)がインストールされているが、まだHyper-Vの役割を追加していません。 それでは、「ipconfig / allと "の出力を見てみましょう。 あなたは、物理NICのMACアドレスは00-13-20-F5-F8-7Dであると私は私が使用しているプラ​​イベートテストネットワーク上のDHCPサーバからIPアドレスを取得していていることがわかります。 今度は、Hyper-Vの役割を有効にするには、Server Managerを使用してみましょう。 そのサーバーマネージャを使用すると、有効な役割の間に外部仮想ネットワークスイッチを作成することができますが、私はこれを行うにはないことを選択しています注意してください。 のは、Hyper-Vの役割を有効にした後、レジストリに何が起こったか見てみましょう。 具体的には、私はそのまままだ未実装、ます。HKLM \ Software \ Microsoft \ Windowsの\ NT \ CurrentVersionの\仮想化の下に作成された2つのキーで探しています:MinimumMacAddressとMaximumMacAddress、プラスワーカーノードで別のキー、CurrentMacAddress - 再びAS - まだ未実装。 (機械の前で、この歩く抜け目がCurrentMacAddressも仮想ノードに表示されていることがわかります。そのキーはも使用されていません。) 次に、私は私の最初の仮想マシンを作成するつもりです。 私は、任意の仮想ネットワークがまだスイッチ作成していないとして、私は切断されたネットワークを残しておきます。 私は、ハードディスクを必要としません。 また、私は意図的にそれを起動しないように選択しています。 レジストリに起こったか見てみましょう。 256の可能なMACアドレスの範囲 - MinimumMacAddressとMaximumMacAddressは、それぞれ00-15-5d-c8-6a-00と00-15-5d-c8-6a-FFで埋められています。 そこでここでは、この範囲から来たのか? 最初の3バイトは、我々はHyper-Vの中で使用するMicrosoftのIEEE組織固有識別子、00-15-5Dです。 次の2バイト、C8-6Aは、サーバー(NICが列挙されているように、第1のIPアドレス)にIPv4アドレスの下位2オクテットで由来しています。 あなたはこの記事で第二のスクリーンショットを見ると、このサーバー上でのみNICのIPv4アドレスが192.168.200.106ました。 ヘックスでは、これは「C0.A8.C8.6A」です。 最後の2つのオクテットまたはバイトがC8および6Aです。 アドレス範囲の最後のバイトは自動的に最小値と最大00 FFで生成されます。 あなたは、おそらく今、このアルゴリズムは、多くの人々のために動作しますが、それは必ずしも完璧ではないかもしれないことを、実現したMACアドレス範囲の衝突を引き起こす可能性があります。 複数のHyper-V対応のサーバーに対処するには、アドレス範囲を確保する必要があるなど、SCVMMの使用など、これらのサーバー間でより高いレベルで管理されています。 のは、私が作成した仮想マシンに戻りましょう。 仮想マシンの作成時にデフォルトでは、動的MACアドレスが割り当てられます。 もちろん、この缶は、仮想マシンの設定で変更すること。 ここで空の仮想マシンの設定です。 それは、動的に設定し、「静的」ボックスにMACアドレスが00-00-00-00-00-00を示していますことに注意してください 今、私は、仮想マシンを起動し、設定を開くつもりです。 仮想マシンが(静的/動的MACを変更、またはスタティックMAC自体を含む)を実行している間にいくつかの設定を変更することはできませんが、スタティックMACアドレス]ラジオボタンの下のボックスは現在定義された範囲の最初のMACアドレスが移入されていることがわかり レジストリ内:00-15-5D-C8-6A-00。 今楽しみのビットのために(とビットシンプルなチュートリアルを行うために)、最大MACアドレスは00-15-5D-C8-6A-02であるようにのレジストリを変更してみましょう。 この変更は、最後のオクテットが(「ブランク」のVMで使用されている)00、01、またはされ、我々は、3つの可能な動的に割り当てられたMACアドレスに制限されていることを意味する(私もちょうど変更を有効にすることを確認する再起動をします) 02。 今、私は、それも上の3番目の仮想マシンの名前6A-02とパワーを作成し、6A-01とパワーそれをという名前の別の仮想マシンを作成するつもりです。 すべての3つの仮想マシンが動作している間の、これらのそれぞれの設定を見てみましょう。 予想されるように図6A-01は、図6A-01を終了MACアドレスを有しており、図6(a)、02(a)、02終了MACアドレスを持っています。 我々はMACが順番にVMに割り当てるために取り組む何追跡する「CurrentMacAddress「レジストリキーを持っている理由です。 私は別の仮想マシンとのパワー、それを作成した場合しかし、何が起こるか、この時点でしかし推測することはできますか? 私は可能な範囲内に残っているMACアドレスを持っていないと、すべてのMACアドレスが現在使用されています。 あなたは正しく推測しましたか? 仮想マシンの私の「範囲で利用できるMACアドレス」で再び新規仮想マシンウィザードを実行しようと、私はMACアドレス6A-00で作成された、非常に最初の仮想マシンの電源をオフ(「ブランク」)は、現在のをみましょう、と。 最後に何が起こるかを推測してみてください。 仮想マシンが正常に起動し、今私が作成した最初の仮想マシンに重複したMACアドレスを持つ、「ブランク」: 最後のクイズの質問:私は「ブランク」を開始しようとした場合、その後どうなる - それは起動しませんか? 結局、それは、既に図6A-00を終了するMACアドレスが割り当てられています。 あなたは上記を参照し、電源投入から仮想マシンを停止することができますように実際に、我々はこれを検出します。 だから、いくつかの方法で、単一のHyper-V対応のサーバーに、我々は、単一のサーバー上で実行中の仮想マシン間でMACアドレスが重複することは比較的免疫です。 しかし、比較的安全ながら、MACアドレスの範囲を選択するためのアルゴリズムに、ネットワーク全体にわたって一意であることの保証はありません。 そしてもちろん、チャンスはあなたがHyper-Vサーバー上の仮想マシンから、またはへのパケットは、物理的なネットワークを「ヒット」したいということです。 だから、うまくいけば、それはあなたにそれが仮想マシン環境で複数のサーバー間でのMACアドレスを管理することが重要である理由をより良いアイデアを提供します。 ウォークスルーは、上記のHyper-Vに特異的であったが、問題の同じ種類の仮想サーバーで発生する可能性があります。