ホーム > VirtualBox > VirtualBoxでのネットワーク設定(NAT+ホストオンリーアダプタによるホストOSとゲストOS間の通信)

VirtualBoxでのネットワーク設定(NAT+ホストオンリーアダプタによるホストOSとゲストOS間の通信)

CassandraやMogileFS、KumoFSなど、複数のサーバで構成されるサーバソフトウェアをテストしたいことが多々あるので、VirtualBoxを使って分散環境を作ってみました。ネットワーク関連の設定でややコツが必要だったので、ちょっとまとめてみました。

要件

ホストOS上で複数のゲストOS(Linux)を立ち上げる。

  • ホストOSからゲストOSにSSHでアクセスしたいので、ホストOSからゲストOS間にアクセスできること
  • 分散コンピューティングのテストがしたいので、ゲストOS間でもアクセスできること
  • ゲストOSからインターネットに出れること
  • ネットワーク上にある他のマシンからはゲストOSにはアクセスできなくてもOK

やり方

今回はネットワーク上の他のマシンからはアクセスできなくてもよいので、ネットワークの設定ではブリッジアダプタを使わずに、ネットワークアダプタを2つ使い、NAT+ホストオンリーアダプタという構成にします。NATというのはゲストOSから外部ネットワークに接続できる構成で、ホストオンリーアダプタというのはホストOSとゲストOS間のみでやり取りできるアダプタです。

具体的なやり方を書いておくと

  1. VirtualBoxをSunのサイトからダウンロードします。(自分は3.1.6 を使用しています)
  2. 仮想マシンを作成し、ネットワークの設定でアダプタ1で”NAT”を、アダプタ2に”ホストオンリーアダプタ”を選択します
  3. 終わったらOSをインストールして下さい。自分は今回CentOS 5.4を使用しました。

となります。これをゲストOSの数だけ繰り返して下さい。(もしくは仮想マシンを一つ作ってそれをコピーするのもよいでしょう)

インストールが終わったらゲストOSにログインして /sbin/ifconfig を実行してみて下さい。自分は今回centos-01とcentos-02 の2つのゲストOSを作ったところ、DHCPで下記のようにIPが割り当てられていました。

  • centos-01: eth0 10.0.2.15, eth1: 192.168.56.101
  • centos-02: eth0 10.0.2.15, eth1: 192.168.56.102

この時点で期待していたことができるか確かめてみます。

  • ホストOSから192.168.56.101,102にping
  • ゲストOSからgoogle.com(外部)にping
  • ゲストOSから192.168.56.1(ホストOSのIP)にping
  • ゲストOS 192.168.56.101から192.168.56.102(centos-02)にping

以上で複数サーバによる分散環境ができましたが、サーバ用途ではDHCPだと後々面倒な事になりそうなので、最後にこのDHCPで割り当てられた設定を参考に static なIPを設定しておきます。具体的にはゲストOSのeth1を192.168.56.10xにすればOKです。以下はcentos-01 の /etc/sysconfig/network-scripts/ifcfg-eth1 の変更箇所です。

--- ifcfg-eth1.orig     2010-04-12 00:11:39.000000000 +0900
+++ ifcfg-eth1  2010-04-12 00:18:52.000000000 +0900
@@ -1,6 +1,9 @@
 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
 DEVICE=eth1
-BOOTPROTO=dhcp
+BOOTPROTO=static
 HWADDR=08:00:27:BD:DD:6C
 ONBOOT=yes
-DHCP_HOSTNAME=centos-01
+IPADDR=192.168.56.101
+NETMASK=255.255.255.0
+NETWORK=192.168.56.0

変更したらnetworkを再起動します。

# /etc/init.d/network restart

centos-02は 192.168.56.102 のIPに設定しています。centos-01からcentos-02にpingしてみて通るか確認してみて下さい。

$ ping 192.168.1.102

これで通れば設定完了です。無事複数サーバによる分散環境ができました。

余談:なんでVirtualBox?

  • 無償で使える
  • Windows,Mac,Linuxに対応している
  • GUIによる設定画面がわりとわかりやすい

というのが気に入って使っています。VMwareもWindows,Mac,Linuxで使えますが、Mac版のVMware Fusionは有償なのがちょっと嫌でした。VirtualBoxは使っていてちょっと重いと思うこともありますが、突然落ちたりはせず非常に安定しているので、デスクトップPCで軽く仮想環境を作りたい場合には重宝しています。

CentOS徹底入門 第2版 (DVD付)

著者/訳者:中島 能和 飛田 伸一郎

出版社:翔泳社( 2008-02-05 )

大型本 ( 580 ページ )



こちらもあわせてどうぞ


カテゴリー: VirtualBox タグ: ,