Quitada ブログ HAX

Hatena Blog でも Quitada ブログ

VMware Fusion の仮想 USB を使ったオレ流事例 - NIC 増設

さて困りました。怪社 IT の方針で、社内ネットワークに余計なパケットを流したり野良サーバを動かしてほしくなかったりということで、社内ネットワークのセグメントと検証用サーバマシンのネットワークのそれを分けるということになりました。

端的にいうと、社内ネットワーク(社内のサイトアクセスとか一般的なインターネットアクセス、メールとか)に接続する端末と、検証用サーバマシンに接続する端末は別々にしましょうということですね。個人的にはめんどい。端末はできるだけ、一つにしたい…。

ということで端末として使用する MacBook ProMac OS X v10.6、Snow Leopard)に、NIC 増設して、本体内蔵も含めて二つとして、片方を社内ネットワーク接続用、もう片方を検証用サーバマシンのネットワーク接続用に活用しようと思いました。

NIC 増設にあたっては、MacBook Pro の USB に接続できて、ギガビットイーサ対応で、なおかつ Mac OS X 対応ということで取り回しが楽そうなロジテックの LAN-GTJ/U2B を購入しました。
[rakuten:getplus:12783421:detail]

さて、接続。そして、さて、認識しない!なんでやー!

と、最近、以下の Apple のサイトにしたがって、32 ビットモードで動いていたカーネルを、64 ビットモードで動作するよう変更したことを思い出しました。

Mac OS X v10.6:32 ビットまたは 64 ビットカーネルで起動する

で、32 ビットモードに戻したら、LAN-GTJ/U2B がきちんと認識しました。ぐはぁ。そんなことマニュアルに全然書いてないのに…。当方が使用している MacBook Pro はちょっと古いやつで、デフォルトで 32 ビットカーネルモードだけど、最近のはたしかデフォルトで 64 ビットカーネルモードになっているはずなんで、LAN-GTJ/U2B が認識しないというお困りモードの御仁がでてくるのでは?

それはさておき、せっかくカーネルを 64 ビットモードで動作するようにしたのに、LAN-GTJ/U2B のために 32 ビットモードに戻すというのもなー。ともあれ、Mac OS Xカーネルが 32 ビットでも、普通に 64 ビットアプリが動くし、仮想メモリ空間が 32 ビットアドレッシングな 4GB という制約もないので、無理してカーネルを 64 ビットモードで動かす必要はあまりないけど…。

ともあれ、せっかくカーネルを 64 ビットモードにしたのだから、このままでいく方法がないかと模索してみる。そもそも、厳密にいうと、当方の MacBook Pro は検証環境用の端末には使っていない。なぜなら、検証環境は vSphere ESX ベースの仮想環境で、楽に使うには vSphere Client が基本的に必要であり、vSphere Client は Mac OS X 用はなくて、Windows 用しかない。したがって、Mac OS X 上に VMware Fusion を動かして、その上で仮想マシンとして Windows 7 を動かして、そこが vSphere Client 用マシンとなっている。

そう! MacBook Pro は直接検証環境のネットワークにつなげる必要はなくて、その上で仮想マシンとして動いている Windows が検証環境につながればよいのだ。

構築(というかほとんど設定だけど)イメージとしては以下の通り。

VMware FUSION の仮想 USB 機能をつかって、MacBook Pro に接続した USB 機器である LAN-GTJ/U2B を、物理マシン上で稼働する Mac OS X ではなく、仮想マシン上で稼働する Windows 7 につなげて NIC として認識させるのです。

怪我の功名な感じですが、LAN-GTJ/U2B のドライバを 64 ビットカーネルMac OS X にインストールしておけば、LAN-GTJ/U2B を物理 USB に接続しても何も反応しないのはこの場合好都合である。で、仮想マシン上で Windows 7 を起動したときに LAN-GTJ/U2B を自動接続する設定をしておけば、期待した通りのことができるわけで。

#仮想 USB 経由の NIC のネットワークアクセス速度はあえて気にしない…。速くはない…。こ、これが仮想化のオーバーヘッドというやつか…。