VMWare Player v4.0.0でNATのport forwardingを設定する

VMware Playerで何気なく3.xから4.0.0にupgradeしたら、今までVM Netの設定に使っていた「vmnetcfg.exe」が動かなくなった。
(元からそんなに表に堂々とアナウンスされているツールというよりは、Program Filesに置かれているだけでスタートメニューにも登録されていなかったけど…。)

どうも、v4.0.0になって.dllの構成か何かが変わったらしく、vmnetcfg.exeそのものが立ち上がらない。
と、いうよりは、むしろ3.x→4.0.0のupdaterが「削除し忘れた」とういうのが真相だろう。

環境

  • Windows XP SP3 32bit
  • VMware Player 3.1.4 → 4.0.0にVMware Playerのススメに従ってupgrade

現象

  • C:\Program Files\VMware\VMware Player\vmnetcfg.exeを起動すると下記のエラーで起動しない。
    • vmnetcfg.exe - アプリケーションエラー
    • "0x1127d70a"の命令が"0x00000014"のメモリを参照しました。メモリが"read"になることはできませんでした。
  • でもNATの穴あけをしたい。VM上のサーバのポートにホストOS上のターミナルやブラウザからアクセスしたい。

対処

方法1(推測) : おとなしくVMware Serverなどを入れる。

それにはおそらくvmnetcfg.exeも付いてくるだろうし、スタートメニューなどに登録も多分してくれる。
でもVMware Server 2.x系はTomcatだのJREだの好き勝手にInstallしてメモリ食いまくるのでヤダ。今回は却下。

方法2 : 設定ファイルを直接いじくる

VMnet自体のドライバはPlayerやServerやWorkstationを問わず、ホストOSがWindowsなら共通っぽい。

普通にInstallすると、「C:\Documents and Settings\All Users\Application Data\VMware\vmnetnat.conf」というファイルがあり、VMNet8(Nat)に対応しているはずなので、そのファイルをテキストエディタで開いて編集する。

NATの穴あけを行うには、「[incomingtcp]」セクションに追記する。
コメントアウト内にSSHとかWebとかの設定が書いてあるので、それを参考に、
「ホストOS上のポート = ゲストOSのIP:ポート」の形式で記述する。

設定ファイルの編集が終わったら、コンピュータの管理を開いて、サービスとアプリケーション→サービスのツリーをせんたくして、
「VMware NAT Service」サービスを再起動する。

うまくいっていればNATに穴が開いているはず。

履歴

2011/10/19 -- 初版