2011年12月30日金曜日

VMware Fusion のホストオンリーネットワークはハブのように振る舞う(スイッチではないみたい)

VMware Fusionで複数のVMをホストオンリーネットワークに接続し、VMのひとつで tcpdump を動かしてみる。そうすると、ブロードキャスト以外のパケットまで見えることに気づく。まるでリピータハブに接続したときのように。


環境

  • MacOS 10.6.8
  • VMware Fusion 4.1.1

VMを3つ作って(OSは、tcpdump や ping が使えるなら何でもよい)、それらのNICをホストオンリーネットワークにつなぐ。


ホスト(MacOS)で認識されているNICのうち、"vmnet1"がVMwareのホストオンリーネットワーク用の仮想ネットワークアダプタ。以下のように、ネットワークアドレスは"192.168.105.0"になっている。


$ ifconfig vmnet1
vmnet1: flags=8863 mtu 1500
 ether 00:50:56:c0:00:01 
 inet 192.168.105.1 netmask 0xffffff00 broadcast 192.168.105.255

なので、VMを起動するとVMのNICには"192.168.105.128/24" や "192.168.105.129/24" などが設定される。


$ ip addr show eth0
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0a:48:1b brd ff:ff:ff:ff:ff:ff
    inet 192.168.105.128/24 brd 192.168.105.255 scope global eth0

準備ができたら、まず 1つのVMで "tcpdump -i eth0" を実行し、残り2つの VM間で ping をしてみる。すると tcpdump の出力に ping による通信が出てくる。

次に、プロミスキャスモードOFFの'-p'オプションをつけて tcpdump を実行して、同様に ping を実行すると、今度は出てこない。プロミスキャスモードが効く、つまり switched network には接続されていないときの動作になっている。


物理的な環境だとスイッチ(ングハブ)を常に使うから、VMware Fusionの世界もスイッチだと思い込んでいたが、違うらしい。また、VMwareのエディション等によっても挙動が変わってくる模様。


0 件のコメント:

コメントを投稿