home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/VirtualBox/ネットワークアダプタの設定メモ (v1)

技術/VirtualBox/ネットワークアダプタの設定メモ (v1)

技術 / VirtualBox / ネットワークアダプタの設定メモ (v1)
id: 1251 所有者: msakamoto-sf    作成日: 2014-01-13 12:49:52
カテゴリ: Linux VirtualBox 

VirtualBoxのネットワーク設定がよく分からなかったので実際に実験したメモ。

実験日 : 2014-01-13
Host : Win7SP1
VirtualBox : 4.3.6

主なネットワークアダプタの種類

名称 外部 <- Guest Guest <-> Guest Guest <- Host
NAT OK NG NG(要ポートフォワーディング)
NAT Networks(NATネットワーク) OK(?) OK NG(要ポートフォワーディング)
Host-only networking(ホストオンリーアダプター) NG OK OK
Inetrnal networking(内部ネットワーク) NG OK NG

NAT

  • Guestマシンそれぞれに、専用のNATルータが割り当てられるイメージ。Guest <-> Guest間は独立しており、通信出来ない。
  • HostからGuestへの通信については、ポートフォワーディングを使う。
    • VirtualBoxマネージャーから、ゲストOSのネットワークアダプター設定画面で「ポートフォワーディング」のボタンが有効化される。クリックすると、Host -> Guestへのポートフォワーディング設定画面が表示される。
    • ゲストOSのネットワークアダプタそれぞれに個別にポートフォワーディングの設定を行う形になる。

NAT Networks(NATネットワーク)

  • VirtualBox 4.3で追加された。複数のGuestマシンが同じNATルータの下にぶら下がる。
  • 4.3.6の時点ではまだ"experimental"扱い。そのためか、実験時にはいくつか問題が発生した。
  • 予めVirtualBoxマネージャーの「ファイル」→「環境設定」→「ネットワーク」→「NAT ネットワーク」タブで、仮想のNATルータに相当する設定を追加しておく必要がある。
  • HostからGuest方向のポートフォワーディングについては、VirtualBoxマネージャー側でそれぞれのNATごとに設定する形になる。ただの"NAT"の時は、ゲスト毎に設定していたのとは対照的。

実験時に遭遇したトラブル(いずれも原因不明で、未解決):

  • Guestから外部ネットワークへの接続ができなくなってしまった。
    • NAT ネットワークのIPv4設定は 10.0.2.0/24 で、Guestへは10.0.2.15などが割り当てられ、デフォルトゲートウェイは 10.0.2.1 に設定された状態。
    • ここまでは良いのだが、ping 10.0.2.1 してもDestination Host Unreachableになってしまい、外に出れなくなってしまった。
    • Guset <-> Guest間は問題なく通信できた。
  • また、ポートフォワーディングを設定しても、Host -> Guestへ接続できなかった。SSH接続しても"read: Connection reset by peer"でTCPのレイヤーで接続エラーとなる。

Host-only networking(ホストオンリーアダプター)

  • HostOnlyの仮想ネットワークの下に、GuestとHostが仲良くぶら下がるイメージ。
  • VitualBoxのマネージャーから、ホストオンリー用のIPアドレス・サブネットマスクを設定出来る。

Host側(Win7)

イーサネット アダプター VirtualBox Host-Only Network:

   接続固有の DNS サフィックス . . . :
   説明. . . . . . . . . . . . . . . : VirtualBox Host-Only Ethernet Adapter
   物理アドレス. . . . . . . . . . . : 08-00-27-00-EC-FB
   DHCP 有効 . . . . . . . . . . . . : いいえ
   自動構成有効. . . . . . . . . . . : はい
   リンクローカル IPv6 アドレス. . . . : fe80::d84:62c8:29f7:2c64%25(優先)
   IPv4 アドレス . . . . . . . . . . : 192.168.56.1(優先)
   サブネット マスク . . . . . . . . : 255.255.255.0
   デフォルト ゲートウェイ . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 419954727
   DHCPv6 クライアント DUID. . . . . . . . : 00-01-00-01-17-D7-6E-11-94-DB-C9-3A-8A-E4
   DNS サーバー. . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over TCP/IP . . . . . . . : 有効

Guest1(CentOS6):

eth0      Link encap:Ethernet  HWaddr 08:00:27:01:26:50
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe01:2650/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:58 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12175 (11.8 KiB)  TX bytes:8864 (8.6 KiB)

Guest2(CentOS6):

eth0      Link encap:Ethernet  HWaddr 08:00:27:1B:8A:69
          inet addr:192.168.56.102  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe1b:8a69/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7631 (7.4 KiB)  TX bytes:7735 (7.5 KiB)

Inetrnal networking(内部ネットワーク)

  • Host-onlyと異なり、VirtualBoxマネージャーなどからIPアドレスの設定は出来ない。

参考

NAT/NAT Networks/Host-onlyの組み合わせで皆さん、それぞれ苦労されているようです。

感想(2014-01-13)

"NAT Networks"はexperimentalというだけ有り、まだ安定してないかも。

GuestOS単体で完結するような環境構築であれば、そのGuestにNATとHost-onlyの2つのアダプタを設定するだけで問題ないだろう。

Webサーバ <> DBサーバ構成など2台以上のGuestが相互に通信できるようにする場合も、それぞれにNATとHost-onlyの2つを設定する方式でも良いが、やや設定が冗長であるし、実運用環境とネットワーク設定が異なりそれによる諸問題が発生する可能性もある。
その場合は、個人的には以下のような構成の方がシンプルで、実運用環境にも近くなると考えます。Guest1, Guest2のdefault gatewayはGuest3のHost-onlyアダプタになるように設定し、Guest3側はルータとして、Host-onlyに入ってきたoutboundをNAT側のアダプタにルーティングします。

[Guest1]
Host-only <--------+
                   |
[Guest2]           |
Host-only <--------+--------> [Host]
                   |
[Guest3(router)]   |
Host-only <--------+
NAT       ------------------> Internet

デメリットとしては、Host-onlyアダプタについて、DHCPではなく静的に色々設定する必要があります。また、1台分余分に動かす必要があります。とはいえ、これもこれで構成パターンの一つとしてアリではなかろうかと。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2014-01-13 12:50:15
md5:de4018adce0cd9174a309827e20a98b6
sha1:3c92dd0be01d4fa7180620007914092a864ed3af
コメント
コメントを投稿するにはログインして下さい。