VirtualBox ゲストOSのWebサーバに外部から接続する

ゲストOS上で開発しているWebアプリに、スマートフォンなどの外部機器から
接続し、動作確認したいことがあるかと思います。

VirtualBoxを使用している場合
・ネットワークアダプタにブリッジアダプタを使用し、ゲストOSに固有のIPを振る。
 外部機器からはゲストOSに、固有のIPで指定して接続する。

・ネットワークアダプタにNATを使用し、ポートフォワーディングでゲストOSに接続する。
 外部機器からはホストOSのIPを指定して接続し、その接続をゲストOSにフォワードする。
 このため、ネットワーク内のIPアドレスを増やす必要がない。

の2通りありますが、今回は手軽なNATを使用する手順について説明したいと思います。


以下、手順です。
ホストOSはWindows7、ゲストOSはCentOSです。

1.ネットワークアダプタの設定、確認
VirtualBox マネージャー上で仮想マシンを選択し、「設定」ボタンを押下します。
「設定」ダイアログ上の左から「ネットワーク」を押下し、アダプターの割り当てを「NAT」にします。
f:id:UnderSourceCode:20130811210937j:plain

2.ポートフォワーディングの設定
上記画面の「ポートフォワーディング」を押下し、「ポートフォワーディングルール」ダイアログを
表示します。
右上の「+」ボタン(追加ボタン)を押下し、外部機器より接続するポートと、ゲストOS上のサーバの
ポートを設定します。
f:id:UnderSourceCode:20130811211632j:plain

3.Windowsファイアウォールの設定
Windowsファイアウォールの「詳細設定」ボタンを押下し、「受信の規則」-「新しい規則」を
押下します。
f:id:UnderSourceCode:20130811214924j:plain
ウィザードに従い、2.で設定した外部機器より接続するポートへの通信を許可します。
f:id:UnderSourceCode:20130811214233j:plain
f:id:UnderSourceCode:20130811214409j:plain

4.外部機器から接続してみる
スマホなどの外部機器のブラウザから
「ホストOSのIPアドレス:ポートフォワーディングするポート」にアクセスし
接続できることを確認します。

以上で、ネットワーク内のIPアドレスを増やすことなく、ゲストOS内のWebサーバに
外部機器から接続できるかと思います。