久々にVirtualBoxを触ったら、すっかり設定方法が頭から抜け落ちていたので、覚書きとして書いておきます。
ネットワーク構成
VirualBoxの各ネットワークは以下のようにしました。
-
NATネットワーク:
NATネットワークは、仮想サーバ(VM01、VM02)から外部への通信のみを許可し、外部からの通信は許可しません。 -
ホストオンリーネットワーク:
ホストオンリーネットワークはホスト端末(HOST01)から仮想サーバの通信のみを許可し、仮想サーバからホスト端末への通信は許可しません。 -
内部ネットワーク:
仮想サーバ間のみ通信が可能なネットワークとして、内部ネットワークを設定しました。
各ネットワークの詳細を以降に示します。
##NATネットワーク
通常、VirtualBoxでアダプタをNATにすると、VirtualBoxのネットワーク設定がそのままであれば10.0.2.2がゲートウェイアドレスとなり、10.0.2.15がサーバのアドレスとなります。複数の仮想サーバがあったとしても、NAT用のサーバアドレスはすべて10.0.2.15となります。このため、NATアダプタではサーバ間通信ができません。そこで、NATネットワークを使います。
NATネットワークは「環境設定」⇒「ネットワーク」から「NATネットワーク」タブを選択し編集します。今回は仮想サーバに任意のアドレスを振るため、「DHCPのサポート」は無効にしています。
NATネットワークを構成した場合、ゲートウェイとなるIPアドレスは基本的に「xxx.xxx.xxx.1」が割り当てられるようです。試しにゲートウェイアドレスを仮想サーバのNICに振ってみたところ、今度は「xxx.xxx.xxx.2」がゲートウェイとなりました。参照リンクを見てもイマイチ動きが解らなかったので、難しい設定をしないで素直に.1をゲートウェイとして考えた方がいいかもしれませんね。
NATネットワークのゲートウェイは、VBoxManageをひっぱたけばわかります。
C:\PROGRA~1\Oracle\VirtualBox>VBoxManage.exe list natnetworks
NetworkName: NATNET
IP: 10.0.2.1
Network: 10.0.2.0/24
IPv6 Enabled: No
IPv6 Prefix: fd17:625c:f037:2::/64
DHCP Enabled: No
Enabled: Yes
loopback mappings (ipv4)
127.0.0.1=2
ホストオンリーネットワーク
NATネットワーク + ホストオンリーネットワークを構成する際、デフォルトゲートウェイはNATネットワークのみとし、ホストオンリーにデフォルトゲートウェイは設定しないようにします。当たり前といえば当たり前ですが、2つのゲートウェイが混在すると通信ができなくなってしまうので。
内部ネットワーク
クラスタ構成を組むため共有領域が必要な場合(CTDBのような)、仮想サーバ間のみの通信ができれば他の通信に影響を与えなくて済みます。
次回、この構成を生かした仮想インフラを作ってみます。