Log.log(work)

いろんな作業メモ

VM上で立ち上げたローカルホストをホストから見る方法

環境
ホスト:Windows8 64bit
ゲスト:(VirtualBox) CentOS6.7, Ruby on Rails

やりたいこと:
ゲストOSのRails上でlocalhostを立ち上げ、
ホストOSのブラウザで確認する。

手順:
VirtualBoxにネットワーク設定を2つ用意しておく。
① ブリッジアダプター
 → ゲストOSがホストOSと同じネットワークを使用するので、ゲスト側が外と繋がるために必要。
② ホストオンリー アダプター
 → ホストとゲストの間で通信する(外部に出ない通信)。

もしホストオンリーアダプターが立ち上がらなかったら、
コントロールパネル→ネットワークでvirtualboxのネットワークのプロパティを開き、NISC6が無効化(チェックなし)だったらチェックを入れて有効化する。

次にゲストOSを立ち上げてIPアドレスを確認。

ifconfig

eth1のアドレスをメモる。
恐らくローカルとグローバルアドレスとホスト通信の3つあると思われるが、
192.168.x.xのアドレスを使用する。

次にiptablesの設定を行い、ゲストOSのポートを開ける。

sudo vi /etc/sysconfig/iptables

Railsのサーバ(Webrick)の場合、3000番ポートを使用するので、3000番を開ける。

-A INPUT -p tcp -m tcp --dport 3000 -j ACCEPT

変更したら更新内容を反映させる。

iptables restart

次にwebrickを立ち上げる。
※事前にアプリがあると仮定

rails s -b 0.0.0.0

これでゲスト側はオッケー。

次にホストのブラウザを立ち上げ、最初に調べたIPアドレス:ポートを指定する。

確認できたらオッケー。


番外編:
FTPクライアントも入れたいという場合には、ここまでくれば設定はすぐできる。
たとえば、WinSCPの場合、設定のホスト名にゲスト側のIPアドレス、SFTPにしてゲストのユーザーでログインすればオッケー。