【VirtualBox】ネットワークの仕組みや設定方法を解説

IT技術
この記事でわかること
  • VirtualBoxのネットワークの仕組み
  • VirtualBoxを使用したネットワーク構成例

インフラエンジニアとして手元に置いておきたい一冊です!

VirtualBoxとは?

VirtualBoxは皆さんが使用しているPC上で、別のOSを実行するのに使う仮想環境(仮想マシン:Virtual Machine)を構築するためのオープンソースソフトウェアです。
OSSなので、もちろん完全無料で使用できます。

簡単に言うと、いまmacOSのPCを使っていても、Windowsを動かせますし、LinuxOSも動かすことがでます。

仮想マシンやVirtualBoxについての解説は検索したらいっぱい出てくるので、そちらを見てください。
分かりやすそうな記事を以下に貼っておきます。

【入門編】VirtualBoxとは?メリット・機能・導入手順までわかりやすく解説 - カゴヤのサーバー研究室
普段使っているのとは異なるOSが利用できる学習環境・テスト環境を手軽に準備したい、と考えていませんか?

VirtualBoxのネットワークとは

VirtualBox上で作成した仮想マシンに搭載されているOSをゲストOSと言います。
一方、自分自身が所有している実物のPCに搭載されているOSをホストOSといいます。

物理的なコンピュータ同士の通信は有線のケーブルを繋ぐか、無線での通信を行うことでネットワークを構築できます。

しかし、ゲストOS同士の通信やゲストOSとホストOSの通信は仮想的なネットワークを考えなくてはいけません。
実物のケーブルなどがないため、慣れない最初のうちはわけがわからなくなります。
そのため、以下にわかりやすく、VirtualBoxでのネットワーク構築を解説していきます。

ホストOSで仮想のNICを作成(ホストオンリーアダプタ)

まずはホストOS側で仮想的なNICを作成する方法を解説します。

通常のPCだと、無線のアダプターが1つ、ケーブルを繋ぐポートが1つぐらいあるはずです。
(最近のノートPCではケーブル用のポートがないのも多いです。)

仮に無線、有線のアダプターがあると仮定し、現在無線(Wi-Fi)でインターネット通信をしていると仮定しましょう。
この時の状況は以下の図の感じとなります。

実際にアダプターの状態を見るにはコマンドプロンプトなどで確認します。
Windowsを使用している人はコマンドプロンプトを開き、” ipconfig”と入力してみてください。
設定している人やNICが多い人は色々なアダプターが出てくるかと思います。

後述しますが、ゲストOS側で使用できるネットワークの種類にホストオンリーアダプターというものがあります。
これはホストOSがゲストOSとネットワークを構築するための仮想的なアダプターです。
いきなりゲストOS側でホストオンリーアダプターを設定しても通信できないため、最初にホストOS側でアダプターを作成しましょう。

①VirtualBoxを起動し、タブ左上の”ファイル” → “ホストネットワークマネージャ”を選択してください

②ホストネットワークマネージャのウィンドウが表示されます。

手動で設定すればIPアドレスを指定出来たり、DHCPサーバを有効にすることでゲストOSのIPアドレスは自動で決まります。

よって、ゲスト側のネットワークアダプターをホストオンリーアダプターにしない場合は、ホスト側の設定は不要となります。

ゲストOSのネットワークアダプター

ゲストOSで設定できるアダプターは以下の7つです。

  1. ホストオンリーアダプター
  2. NAT ※デフォルト設定はこれ
  3. NATネットワーク
  4. ブリッジアダプター
  5. 内部ネットワーク
  6. 汎用ドライバー
  7. Cloud Networks

※6. 7の解説は別の記事でします。

ゲストOSのアダプター設定方法は以下の方法で行います

①VirtualBoxマネージャ画面で設定したいゲストOSを右クリックし、”設定”を選択

②左タブから”ネットワーク”を選択し、”割り当て”から選択する

GUIではゲストOSのアダプターは4つまで追加することができます。

ホストオンリーアダプター

ホストオンリーアダプターの特徴はホストOSとゲストOSが仮想的なNICで接続されていることです。

ホストOSとゲストOS同士の通信や、ゲストOS同士の通信は仮想的なケーブルが繋がっていることから通信可能です。

ただ、インターネットに繋がるアダプターには繋がっていないため、ゲストOSはインターネットに接続できません

まとめると以下の表の関係になります。

通信の可否ホストOSゲストOSインターネット
ホストOS
ゲストOS×

ゲストOSがインターネット通信できるようにするには、次のNATを選択する必要があります。

NAT

NATは仮想マシンを作成したときにデフォルトで作成され、インターネット向けの通信が可能なアダプターです。

仮想マシンにそれぞれ仮想のルータが準備され、ルーターでNATされインターネットに出ていきます。
少し踏み込むと、DHCPで仮想マシンにIPを割り振ると、全ての仮想マシンのIPアドレスは10.0.2.15になり、ルータのIPは10.0.2.2となります。

ゲストOS間は繋がっていないので通信不可、ホストOSとゲストOS間の通信はポートフォワーディングを設定すると可能となります。

通信の可否ホストOSゲストOSインターネット
ホストOSポートフォワーディングの設定で〇
ゲストOSポートフォワーディングの設定で〇×

NATネットワーク

NATネットワークは、上記のNAT+ゲストOS間の通信が可能なネットワークです。

ホストOSとゲストOS間はポートフォワーディングの設定が必要です。

仮想マシンのIPはそれぞれ、10.0.2.n/24が割り振られます。(仮想ルーターは10.0.2.2)

通信の可否ホストOSゲストOSインターネット
ホストOSポートフォワーディングの設定で〇
ゲストOSポートフォワーディングの設定で〇

ブリッジアダプター

ホストOSの物理アダプターを使用して、ホストOSとゲストOSを接続します。
物理アダプターは実際に存在するアダプターであればすべて選択可能ですが、インターネット向け通信ができるアダプターを選択しないと、ゲストOSはインターネットに接続できません。

上記の図だとNATネットワークとの違いがよくわかりません。
そのため、下の図を見てみてください。

同じアクセスポイントに接続されたプリンターと別のPCが加わりました。
2台のPCやプリンターは同じネットワークにいるため、PCからプリンターに無線接続で印刷することもできます。

NATやNATネットワークでは仮想ルータでNATされてしまうため、ホストOSとゲストOSは同じネットワーク上には存在しませんでした。
しかし、ブリッジアダプターでは仮想スイッチを使用しているため、同じネットワークに接続することが可能です。
これにより、ゲストOSからプリンター通信することができ、印刷も可能です。

仮想マシンをサーバのように扱う場合、ブリッジアダプターの選択が良いでしょう。

通信の可否ホストOSゲストOSインターネット
ホストOS
ゲストOS

内部ネットワーク

ホストOSとゲストOSは通信することができません。
またゲストOSはインターネット通信もすることができません。

ゲストOS間での通信しかできないため、VirtualBox内で完結させたい場合に使用します。

通信の可否ホストOSゲストOSインターネット
ホストOS×
ゲストOS××

使用例

ゲストOSのネットワークは種類がたくさんあり、最適なのを選ぶのは難しいです。
今回は1つの例として、WebサーバをVirtualBoxで立てる場合を考えましょ

Webサーバを立てる場合、DateBaseサーバ(DB)も必要になる場合がほとんどのため、DBサーバも立てます。
Webサーバは外部に公開する必要があり、DBサーバは外部からアクセスされないようにするのが一般的です。

そのため以下のように選択します。

  • Webサーバにはブリッジアダプターを割り当て外部に公開
  • Webサーバ、DBサーバともにホストOSからのアクセスはしたいため、ホストオンリーアダプターも割り当てます。これによりWebサーバとDBサーバの通信も可能

これにより、Webサーバが外部接続するアダプターとWebサーバが接続するアダプターが異なるため、外部からDBサーバは見えません。

まとめ

今回はVirtualBoxのネットワークについて解説しました。
ネットワークには以下の種類があります。

  1. ホストオンリーアダプター
  2. NAT ※デフォルト設定はこれ
  3. NATネットワーク
  4. ブリッジアダプター
  5. 内部ネットワーク
  6. 汎用ドライバー
  7. Cloud Networks

それぞれの動作については記事を見てみてください。

間違いなどありましたらコメントいただけると幸いです。

コメント

タイトルとURLをコピーしました