VMware:NAT接続設定されたゲストOS上のWebサーバーに、外部からアクセスする

ホストPC上に構築した仮想Linuxサーバーを運用するときに、
最低限、外部からWebサーバーやSSHサーバーへアクセス出来るように設定する必要がある。

今回わけあって、個別のIPアドレスが振れない為、NAT接続のまま
外部からアクセスできるようにする設定の備忘録を残す。

VMWareの仮想マシン設定でNAT接続になっていることを確認する。

一度仮想マシンを起動し、IPアドレスを確認してメモして、ゲストOSをシャットダウンしておく。
DHCPの場合だったとしても、1台のみならほぼ固定と思われる。
心配なら固定IPアドレスを振っておく。

> ifconfig

ens32     Link encap:イーサネット  ハードウェアアドレス 00:0c:29:93:xx:xx  
          inetアドレス:192.168.199.128  ブロードキャスト:192.168.199.255  マスク:255.255.255.0

ホストOS(Windows)側にあるNAT設定ファイル(C:\ProgramData\VMware\vmnetnat.conf)
をエディタで編集する。

以下の例は、ホストOS(192.168.0.2)のポート番号8099に
アクセスされた場合、ゲストOS(192.168.199.128)の8099番に転送する内容になる。
(ホスト側のポート番号は、左辺のポート番号のみ)

ポート番号はホスト、ゲスト双方でユニークかつ未使用であれば幾つでも追加できる。

[incomingtcp]

8099 = 192.168.199.128:8099

設定を変更したら、ホストOS上で動作しているVMWare NAT Serviceを再起動する。

確認テストとして、ゲストOS上でWebサーバーをポート番号8099で起動した後、
ホストや他のローカルPCから、ホストOSのIPアドレスを指定して、
hello.htmlファイルにアクセスできれば、設定成功である。

ホストOSからゲストOSはOKで、別の端末からゲストOSがNGの場合、
ホストOSのファイヤーウォールに対して、「受信の規則」-「新しい規則」
で該当するポートの開放を許可すると動作する。