■概要
いちいちVirtualBoxのCentOS上のターミナルやブラウザから操作するのが面倒なので、
WindowsマシンからVirtualBox側のCentOSに立てたWebサーバーまたはSSH接続するための設定メモ。
設定したIPアドレスとポートでホストOS(WIndows)のブラウザやSSHソフトからアクセスすると
VirtualBox!?がゲストOS側で設定したIPアドレスへ転送してくれるらしい(要調査)
設定は3種類あり今回はホストオンリーアダプター設定
■ホストOS側の設定(Windows)
▲Windowsの設定
⇒コントロールパネルを開く
⇒ネットワークと共有センター
⇒アクティブなネットワークの表示のイーサネットを選択
⇒プロパティを選択
⇒共有タブを選択
⇒「ネットワークのほかのユーザー、このコンピュータのインターネット接続をとおしての接続を許可する」にチェックを入れる
⇒ホーム ネットワーク接続に「VirtualBox Host-Only Network」を選択する
⇒「ネットワークのほかのユーザーに、共有インターネット接続の制御や無効化を許可する」にチェック
(デフォルトのままだとチェックが入っている)
⇒「インターネット接続の共有を有効にすると、LANアダプターによって使用されるIPアドレスは192.168.137.1に設定されます(中略)」
とメッセージが表示されるが「はい」ボタンを押す
⇒ネットワークと共有センターに戻り「アダプターの設定変更」を選択
⇒「VirtualBox Host-Only Network」をマウスで右クリック「有効」を選択
⇒コマンドプロンプトでipconfigを実行するとイーサネット アダプター VirtualBox Host-Only Networkの
IPv4アドレスが192.168.137.1になっているのを確認
▲Virtual Box側の設定
⇒VM VirtualBox マネージャーの「設定」を選択
⇒画面が起動するので左側の「ネットワーク」を選択
⇒アダプター1のタブの割り当てを「ホストオンリーアダプター」に設定
⇒名前を「VirtualBox Host-Only Ethernet Adapter」に設定
⇒OKボタンを押す
■ゲストOS側の設定(CentOS)
ゲストOSから外部へ接続するための設定を行います。
ホストオンリーアダプターの場合、DHCPによるIPアドレスの自動取得では無く、IPアドレス等の個別設定が必要
IPアドレス
Windowsのコマンドプロンプトでipconfigで確認した"VirtualBox Host-Only Network" のIPアドレスより小さいアドレスを指定
例えばIPアドレスが 169.254.213.166 だった場合、169.254.213.1~169.254.213.165 を指定
サブネットマスク
Windowsのコマンドプロンプトでipconfigで確認した"VirtualBox Host-Only Network" のサブネットマスクを指定
デフォルトゲートウェイ
Windowsのコマンドプロンプトでipconfigで確認した"VirtualBox Host-Only Network" のIPアドレスを指定
DNSサーバ
Windowsのコマンドプロンプトでipconfigで確認した"VirtualBox Host-Only Network" のIPアドレスを指定
▲IPアドレス設定
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="none"
HWADDR=08:00:27:7E:A0:6A
ONBOOT=yes
TYPE=Ethernet
UUID=bb1cb85c-5e85-4966-bd3b-1ca109497c1a
IPADDR=192.168.137.0
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
DNS1=192.168.137.1
▲ネットワーク再起動
sudo service network restart
▲ifconfigでアドレス確認
コマンド実行結果からゲストOS側のIPは192.168.137.0となる
eth0 Link encap:Ethernet HWaddr 08:00:27:7E:A0:6A
inet addr:192.168.137.0 Bcast:192.168.137.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:48117 errors:0 dropped:0 overruns:0 frame:0
TX packets:9008 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:62368178 (59.4 MiB) TX bytes:1462476 (1.3 MiB)
lo Link encap:Local Loopback
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:630 errors:0 dropped:0 overruns:0 frame:0
TX packets:630 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:166163 (162.2 KiB) TX bytes:166163 (162.2 KiB)
▲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
■用途
・WindowsのブラウザからゲストOSのWebサーバーへアクセスする場合
ブラウザでアクセスする場合はアドレスバーにhttp://192.168.137.0:8080/ を入力すればOK
(ゲストOS側でWebサーバーが起動されていることが前提です)
・WindowsのSSHソフトからゲストOSのCentOSへアクセスする場合
SSHで接続する場合はサーバーIPを192.168.137.0で設定