VirtualBox(CentOS6.8)でホストオンリーアダプター設定

■概要
いちいちVirtualBoxのCentOS上のターミナルやブラウザから操作するのが面倒なので、
WindowsマシンからVirtualBox側のCentOSに立てたWebサーバーまたはSSH接続するための設定メモ。

設定したIPアドレスとポートでホストOS(WIndows)のブラウザやSSHソフトからアクセスすると
VirtualBox!?がゲストOS側で設定したIPアドレスへ転送してくれるらしい(要調査)

設定は３種類あり今回はホストオンリーアダプター設定

■ホスト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で設定


■参考サイト
http://vogel.at.webry.info/201605/article_5.html