VMware PlayerをNATで使用し外部からSSHやWebサーバにアクセスする

VMware Playerをホスと環境にThinkPad? X60に入れて使っている。ノートなので色々な場所で使うことからVMware PlayerのネットワークはNATモードで使っている。

NATで動作しているためホスト環境以外からVMware Playerへアクセス(SSHとかHTTPD)は出来ない。 あたり前と行ってしまえば、当たり前で諦めていたのだが、ポートフォワードできる方法が見つかった。

参考にしたサイト http://nhh.mo-blog.jp/ttt/2005/11/vmware_natssh_3905.html

VMware Playerでの設定

  • vmnetcfg.exe VMware Playerをインストールしたフォルダに「vmnetcfg.exe」があるはず。
    まずはこれがないとお話にならない。
  • NATタブで編集。 vmnetcfg.exeを起動しNATタブをクリックする。
    使っているVMnet hostを選択し、「edit」をクリックする。
  • Port Forwarding... Port Forwarding...ボタンをクリックしIncoming PortでAddボタンをクリックする。
  • ポートの追加 Host Portに目的のポート番号をいれる。SSHなら22、HTTPDなら80。
    でもいいんだけど、複数のイメージが動作している場合は、ポート番号で分けるとわかりやすいかも。

Virtual Machine IP Addressに対象となる仮想環境のIPを設定し、Portに対象となる仮想環境の目的Port番号を追加する。
この場合は、仮想環境でのぽーとになるので、SSHなら22、HTTPDなら80。

Descriptionは適当にコメントを入れときましょ。

これで、VMware Player側の設定はおしまい。

これだけだとSSHとかで帰ってこないんだなー。

Windows FireWall?の設定が残ってた。

WireShark?を使ってホストマシンにパケットが来ているか確認したが、ちゃんと来てる。
でも同じネットワーク内の別のマシンからホストマシンに接続するとSSHではタイムアウトが発生した。

実は、Windowsファイアウォールがちゃんと効いていて知らないポートへのアクセスは返事をしていなかった。 とうか、遮断しているようだった。(WireShark?はWindowsファイアウォールの外側で監視しているってことか!)

とういうわけで、コントロールパネルのWindwosファイアウォールをダブルクリックし、「詳細設定」タブをクリックする。

ホストマシンの物理ネットワークを選択し「設定」ボタンをクリックするとサービスの一覧が表示される。
特に何もしていなければ、チェックボックスはどれも選択されていない状態になっていると思う。

「追加」を選択し、

  • サービスの説明:適当にコメントをつけとく
  • ネットワークでこのサービスを...はホストマシンのIPアドレス。
    • (あっ!ここは環境が変わるたびに変更しなくちゃだめんなんだ。)
  • 外部ポート番号:外部に設定したポート番号
  • 内部ポーと番号:サービスのポート番号

これで、同じネットワーク内のマシンからSSHなりHTTPDなりにアクセスすることができるはず!


Last-modified: 2013-03-01 (金) 11:07:07 (1994d)