Saturday, January 5, 2013

VMware Player での仮想ネットワークに関するあれこれ

手元での各種の作業に VMware Player を使っている人は多いと思う。

私は、最新の 5.0系より1つ古い 4.0.4 というバージョンを使っているのだが、
最近まで知らなかったことがあったのでメモ。

(1) 仮想ネットワークに nat を使っている場合にも static にIPを割りつけたい
 (たぶんこっちはFAQレベル)

 言うまでもなく、VMware (Player/Workstation等)の仮想ネットワークのNATでは、
 内蔵DHCPサーバからprivate IPをもらうことができ、VMからNATで外に出ていくことができる。

 ただ、いろいろいじっていると、VMに固定IPを割りつけたいこともよくある。
 VMware の内蔵DHCPサーバが覚えていて、同じIPを割り振ってくれることも多いのだが、
 何台もVMを作って起動・停止を繰り返していると、必ずしも必ず固定というわけにはいかない。

 単純には、一度内蔵DHCPから払いだされたIPをそのまま static に定義してしまえ…という
 乱暴な解決策が思いつくが、これはうまくいかない。NATで認識してくれない上に、
 ホスト側からも接続できなくなる。

 答は単純(…たぶんFAQで自分が知らなかっただけな気がする)で、
 内蔵DHCPサーバが払いだすIPのレンジは、NATで使えるIPのレンジのほぼ半分で、
 (通常は /24 なので第4オクテットホスト部が 129 以上の範囲から払いだされ、
 128以下のうち 1 (ホスト用) と 2 (NAT gateway用)は予約で、これら以外はゲストOS上で
 static に設定すれば普通にホストとの直接通信も、NAT経由の外部通信も可能になる。

 なお、根拠については、以下(の、特に p179 あたり)くらいしか見つからなかったのだが、

 http://www.vmware.com/jp/pdf/server_vm_manual.pdf
 
 このへんの仕様は不変だと思われる。
 (し、次の vmnetcfg の出力を見ても大丈夫だと思われる)


(2) 仮想ネットワークの設定をいじりたい

(2-1) 仮想ネットワーク設定操作用のツール(vmnetcfg)を追加インストールする

2.x系くらいの古いVMware Player の時代には、仮想ネットワークエディタというものが
標準でついてきていた。少なくとも私が使っている 4.0.4 ではインストールされないのだが、
実は配布アーカイブには同梱されており、追加インストール可能である。


情報源はこのへん↓(ぐぐると日本語でもそれなりに記事が出てくるようだ)

 http://communities.vmware.com/message/1853079


以下が手順。
  1. VMware Player の配布アーカイブを -e オプション付きで起動し、中身を取り出す

    C:\tmp>VMware-player-4.0.4-744019.exe -e c:\tmp\vmwp

    -e には展開先のフォルダを指定する。
  2. 出てきた network.cab に含まれる vmnetcfg.exe を取り出す
    C:\tmp>dir vmwp
     [略]
    2013/01/05  15:17    <DIR>          .
    2013/01/05  15:17    <DIR>          ..
     [略]
    2013/01/05  15:17         1,486,370 micros~2.cab
    2013/01/05  15:17           589,824 module_core.dll
    2013/01/05  15:17           356,352 module_ws.dll
    2013/01/05  15:17           216,071 nat.cab
    2013/01/05  15:17           207,483 net32.cab
    2013/01/05  15:17           173,955 net64.cab
    2013/01/05  15:16         2,855,112 network.cab  ★この cab をひらいて中身を取り出す
    2013/01/05  15:17        19,262,287 ovftoo~1.cab
    2013/01/05  15:17        15,132,466 ovftoo~2.cab
     [略]
                  48 個のファイル         242,418,155 バイト
                   2 個のディレクトリ  23,789,588,480 バイトの空き領域
  3. vmnetcfg.exe を VMware Player のインストールディレクトリにコピーする
    私の場合は以下。

    C:\Program Files (x86)\VMware\VMware Player

    VMware Player のインストールディレクトリにコピーせずに vmnetcfg.exe を単独で
    起動すると「sigc-2.0.dll が存在しない」という趣旨のエラーが出るので注意のこと。

(2-2) 仮想ネットワーク設定を変更する。

 以下のような画面がでてくれば(2-1)のインストール作業は正解である。
 あとは見てわかるとおりで、例えば、NATで使うIPの network address を変更するなど、
 わりと細かい設定変更も可能である。


 下段右のほうの「DHCP設定(C)」をクリックして出てくるダイアログが以下で、


 前半で説明した、DHCPで払いだす IP address のプールの指定(等)を変更できることがわかる。

No comments:

Post a Comment