■概要
いちいちVirtualBoxのCentOS上のターミナルやブラウザから操作するのが面倒なので、
WindowsマシンからVirtualBox側のCentOSに立てたWebサーバーまたはSSH接続するための設定メモ。
設定したIPアドレスとポートでホストOS(WIndows)のブラウザやSSHソフトからアクセスすると
VirtualBox!?がゲストOS側で設定したIPアドレスへ転送してくれるらしい(要調査)
NATネットワーク+ポートフォワーディングでできることは、
VirtualBox内に2つ以上のゲストOSがあった場合、ゲストOS間の通信のやり取り、
WindowsとゲストOS間の通信、ゲストOSから外部へのアクセスが可能
設定は3種類あり今回はNATネットワーク+ポートフォワーディング編メモ
■ホストOS側の設定(Windows)
▲Windowsの設定
⇒コントロールパネルを開く
⇒ネットワークと共有センター
⇒アクティブなネットワークの表示のイーサネットを選択
⇒プロパティを選択
⇒共有タブを選択
⇒「ネットワークのほかのユーザー、このコンピュータのインターネット接続をとおしての接続を許可する」のチェックを外す
⇒「ネットワークのほかのユーザーに、共有インターネット接続の制御や無効化を許可する」のチェックはどちらでもOK
(デフォルトのままだとチェックが入っている)
▲Virtual Box側の設定
⇒VM VirtualBox マネージャーの「ファイル」⇒「環境設定」⇒「ネットワーク」⇒「NATネットワーク」
⇒+ボタンを押しネットワークを追加⇒「NatNetwork」をクリック
⇒ポートフォワーディングルールを追加する
名前 ⇒デフォルトのまま(Rule1)
プロトコル ⇒TCP
ホストIP(WIndows側のIP)
コマンドプロンプトを開き、ipconfigコマンドを実行し「イーサネット アダプター イーサネット」の項目にある
自分のWindowsマシンのIPアドレス(IPv4アドレス)を設定する(自分のマシンは192.168.0.86だった)
ホストポート ⇒8080(ポート番号は任意に決められるらしいが8080にした)
ゲストIP ⇒ゲストOSでifconfigで調べたIPアドレスを設定(今回だと10.0.2.15)
ゲストポート ⇒8080(ゲストOSでsudo vi /etc/sysconfig/iptablesで設定したときのポートを指定)
例:
ブラウザ用 ⇒Rule1 TCP 192.168.0.86 8080 10.0.2.15 8080
SSH接続用 ⇒Rule2 TCP 192.168.0.86 22 10.0.2.15 22
⇒環境設定を閉じる
⇒VM VirtualBox マネージャーの「設定」を選択
⇒画面が起動するので左側の「ネットワーク」を選択
⇒アダプター1のタブの割り当てを「NATネットワーク」に設定
⇒名前を先ほど環境設定で追加した「NatNetwork」を選択
⇒OKボタンを押し閉じる
■ゲストOS側の設定(CentOS)
▲ifconfigでアドレス確認
コマンド実行結果からゲストOS側のIPは10.0.2.15となる
eth0 Link encap:Ethernet HWaddr 08:00:27:7E:A0:6A
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe7e:a06a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:857 errors:0 dropped:0 overruns:0 frame:0
TX packets:1581 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:81412 (79.5 KiB) TX bytes:882169 (861.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:430 errors:0 dropped:0 overruns:0 frame:0
TX packets:430 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:130001 (126.9 KiB) TX bytes:130001 (126.9 KiB)
▲IPアドレス設定
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:7E:A0:6A
TYPE=Ethernet
UUID=bb1cb85c-5e85-4966-bd3b-1ca109497c1a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
▲ネットワーク再起動
sudo service network restart
▲iptablesを使ってポートの制御をする
sudo vi /etc/sysconfig/iptables
下記を追加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
sudo /etc/init.d/iptables restart
■用途
ブラウザでアクセスする場合はアドレスバーにhttp://192.168.0.86:8080を入力すればOK
(ゲストOS側でWebサーバーが起動されていることが前提です)
SSHで接続する場合はサーバーIPを192.168.0.86、アカウント情報、ポート番号を指定