LoginSignup
11
15

More than 5 years have passed since last update.

VirtualBox(CentOS6.8)でNATネットワーク + ポートフォワーディング設定

Last updated at Posted at 2016-12-14

■概要
いちいち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、アカウント情報、ポート番号を指定

11
15
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
15