2009年10月12日月曜日

仮想 MAC アドレスについての考察

情報ネットワーク科 2 年の小澤泰雅 (おざわたいが) です。

http://system-design-club.blogspot.com/2009/10/mac.html
前回出た疑問について調べてみました。



ホスト OS から見る仮想 MAC アドレスと、ゲスト OS から見る MAC アドレスが違うのは何故か?

まず、本当に違うのかどうか確かめてみました。

(ホスト OS - 仮想 NIC1)

(ホスト OS - 仮想 NIC2)

(ホスト OS - 物理 NIC)

(ゲスト OS)

違うことは確かなようです。
ホスト OS の物理 NIC は 00-C0-9F-**...、仮想 NIC は 00-50-56-**...、ゲスト OS は 00-0C-29-**...となっています。
特に、ホスト OS の仮想 NIC とゲスト OS のベンダー ID が違うのは意外です。



なぜ MAC アドレスが違うのか?

ここに答えが載っていました。

「Securing Virtual Machines and the Host」という項に、『Virtual switch』という記述があります。

つまり、ホスト OS から見える仮想 NIC の MAC アドレスは、正確には『仮想 NIC ではなく、仮想スイッチの MAC アドレス』であることがわかります。

また仮想 NIC であるなら、ホスト OS から見える仮想 NIC は『DHCP enabled』が『ON』になっていなくてはならないはずです。


また、VMWare Server には『Manage Virtual Networks』というメニューがあり、その中には 3 つ仮想スイッチが並んでいます。



インストールした直後はこの設定が何のことかわからなかったのですが、先ほどの仮想スイッチの概念を踏まえると、上から


「ホスト OS 上の物理 NIC に接続された仮想スイッチに、仮想 LAN ケーブルを接続してネットワークに直接参加する」

「ホスト OS のプライベートネットワークに参加する (ホスト OS とゲスト OS で構成されるLAN)」

「ホスト OS の IP アドレスを使用し、NAT でネットワークに参加する」


という設定項目であることがわかりました。


また、ベンダー ID が異なるのは、

明示的に設定された MAC アドレス (仮想スイッチ) については『00-50-56

自動生成された MAC アドレス (ゲスト OS) については『00-0C-29

として使い分けされているようです。




(追記)

仮想インターフェースについてわかりやすい図が置いてあります。

http://kaede.blog.abk.nu/vmnet


『00-0C-29』についてはVMWare公式に載っていました。

http://www.vmware.com/support/esx21/doc/esx21admin_MACaddress.html

3 件のコメント:

  1. 調査ありがとう。
    2点確認させてください。
    ・ゲストOS「00-0C-29」はVM特有のものでしょうか?他の仮想化ソフトでも、何になるか調査したいですね。
    ・前回2つの仮想インターフェースがあったといいましたが、これはゲストOS用インターフェースと仮想スイッチ用インターフェースで2つという認識でいいでしょうか?

    わかりやすいまとめ方ありがとう。
    早く資産管理調査部隊の結果をみたいですね。

    返信削除
  2. > ・ゲストOS「00-0C-29」はVM特有のものでしょうか?

    VMWare特有のMACアドレスです。
    ブログを書いたあとに見つけましたが、VMWare公式に以下のようなページがありました。
    http://www.vmware.com/support/esx21/doc/esx21admin_MACaddress.html

    原文: The VMware OUI for automatically generated MAC addresses is
    00:0C:29. Thus the first three bytes of the MAC address that is
    automatically generated for each virtual network adapter have this
    value. ESX Server then uses a MAC address generation algorithm to
    produce the other three bytes. The algorithm guarantees unique MAC
    addresses within a machine and attempts to provide unique MAC
    addresses between ESX Server machines.

    訳文(適当): VMWareは固有のMACアドレスとして00:0C:29を自動的に生成します。仮想ネットワークアダプタの最初の3バイトはこの値が使用されます。他の3バイトは、アルゴリズムを使用して被らないように保証します。

    > ・前回2つの仮想インターフェースがあったといいましたが、これはゲストOS用インターフェースと仮想スイッチ用インターフェースで2つという認識でいいでしょうか?

    そうです。
    私のブログの記事で言うと、正確には『Host only network (閉じたプライベートLAN)
    用のvmnet1』と『NAT構成用のvmnet8』の2つです。
    図にした物が以下にありました。わかりやすいので見てみてください。
    http://kaede.blog.abk.nu/vmnet

    返信削除
  3. Thanks for sharing, nice post! Post really provice useful information!

    Giaonhan247 chuyên dịch vụ mua vòng tay pandora trên ebay hay vòng tay pandora úc từ các trang web mua hàng mỹ uy tín với chi tiết bảng giá cước gửi hàng đi mỹ cũng như cách mua hàng trên ebay ship về việt nam và giải đáp mua nước hoa pháp ở đâu uy tín nhất.

    返信削除