本記事は、Windows11にホスト型仮想化環境プラットフォームのOracle VM VirtualBoxをインストールした手順のメモです。
Oracle VM VirtualBox自体は前回の記事でインストールしています。今回はこのVirtualBox上に空の仮想マシンを作成します。空のマシンということで、OSは本記事ではインストールを行いません。
またネットワークの設定として、仮想マシンホスト(VirtualBoxをインストールしたマシン)をNATとして仮想マシンからネットワークに接続する「NAT」設定と、仮想マシンホストから仮想マシンにネットワーク接続する「ホストオンリーアダプター」を設定します。なおVirtualBox側で設定した後、OS側でも設定が必要になりますのでご注意ください。VirtualBoxのネットワーク設定はこの他にも複数あるので、本記事で合わせて解説します。

◆ Oracle VM VirtualBoxのネットワーク設定の種類
以下のサイトが詳しいのでぜひ参考にしてもらえればと思います。
・VirtualBoxのネットワーク設定を絵で説明する #Network – Qiita
・【VirtualBox】ネットワークの仕組みや設定方法を解説 (se-memorandum.com)
・VirtualBoxクラウドネットワークを使う – Zenn
1.NAT
仮想マシンを作成するごとにデフォルトで作成されますが、消すことも可能です。
仮想マシンからインターネットに対して通信ができます。インターネットから仮想マシン、仮想マシンホストと仮想マシン間、仮想マシン同士での通信は通常できませんが、ポートフォワーディングをすることで仮想マシンホストと仮想マシン間は通信ができるようです。
上の参考サイトによれば、仮想マシンごとに別々の仮想ルーターが作成され、その仮想ルーターでNAT処理が行われてインターネットに出るようです。

2.ブリッジアダプター
仮想マシンとインターネット間、仮想マシンホストと仮想マシン間、仮想マシン同士で通信が可能です。
仮想マシンホストの物理ネットワークアダプターを介して通信するので、上記のような通信を実現できるようです。

3.内部ネットワーク
仮想マシン同士での通信ができます。仮想マシンホストと仮想マシン間、仮想マシンとインターネット間では通信ができません。
ネットワークアダプターを一切介さないため、仮想マシン同士でしか通信ができないようです。

4.ホストオンリーアダプター
仮想マシンホストと仮想マシン間、仮想マシン同士での通信ができます。仮想マシンとインターネット間で通信はできません。
仮想ネットワークアダプターが仮想マシンホスト内に作られ、これを通して物理マシン・仮想マシン間の通信を実現しているようです。また、仮想マシンホストの物理ネットワークアダプターとは繋がっていないので仮想マシン・インターネット間の通信ができないようです。

5.汎用ドライバー
UDPトンネルとVDE(仮想分散イーサネット)を利用可能になるとのことですが、それ以上の情報がなかなか無いようです。
6.NATネットワーク
仮想マシンからインターネット、仮想マシン同士での通信ができます。インターネットから仮想マシン、仮想マシンホストと仮想マシン間での通信は通常できませんが、ポートフォワーディングをすることで仮想マシンホストと仮想マシン間は通信ができるようです。
NATと異なり、複数の仮想マシンが1つの仮想ルーターに接続するような構成となるようです。

7.Cloud Network [External]]
上の参考サイトによると、Oracle Cloud Infrastructure (OCI) にVMが起動し、VirtualBoxの仮想マシンのPCIスロットに接続されたNICとして振舞うようです。

◆ 空仮想マシン作成+ネットワーク設定(NAT+ホストオンリーアダプター)(2023年10月時点)
今回行うネットワーク設定は、上で解説したNATとホストオンリーアダプターの2つを設定します。これにより仮想マシンからネットワークに出ることも、仮想マシンホストと仮想マシン間の通信もできます。

まずはVirtualBoxで空の仮想マシンを作成し、作成した仮想マシンの設定に移動してNAT設定とホストオンリーアダプター設定を有効化します。
1.
Oracle VM Virtualboxマネージャーを起動し、画面右側上部の「新規」アイコンをクリックします。

2.
仮想マシンのOracle VM VirtualBoxマネージャー上での名前を入力します。
VM作成先のフォルダは任意で変更しても構いません。
OSインストール用のISO Imageは後でマウントするのでここでは選択しませんでした。
ただしRocky Linuxをインストールする想定で、タイプは「Linux」、バージョンは「Other Linux(64-bit)」を選択しました。ここでの選択で後のメモリ割り当てのデフォルト値が変わってきます。

3.
メインメモリー、Processorsは任意の値を指定します。また「Enable EFI (special OSes only) 」のチェックが入っていることを確認し、[次へ] ボタンをクリックします。

4.
今回はVMの仮想ハードディスクを新規に作成するので「Create a Virtual Hard Disk Now」を選択し、ハードディスクのサイズを任意で指定します。この時、最初から指定したサイズを確保しておく場合は「Pre-allocate Full Size」のチェックを入れます(入れない場合は小さいサイズで仮想ハードディスクファイルが作成され、容量を利用するごとに段々と拡張されます)。
その後 [次へ] ボタンをクリックします。

5.
作成するVMの設定の確認画面が表示されます。問題なければ [完了] ボタンをクリックします。

6.
OSがインストールされていない空の仮想マシンができました。

7.
ホストオンリーアダプターのIPアドレス範囲を確認します。
「ファイル」>「ツール」>「Network Manager」を選択します。

8.
「Host-only Networks」タブを確認します。デフォルトで1つホストオンリーアダプターがあるので、そちらのIPアドレス範囲を確認します。この場合はVMのホストオンリーアダプターが割り当てられたネットワークインターフェースに対して、「192.168.56.1/24」の範囲でIPアドレスを割り当てれば良いです。

9.
対象の仮想マシンを選択して、「設定」をクリックします。

10.
左メニューで「ネットワーク」を選択し、右側で「アダプター1」タブをクリックします。デフォルトでネットワークアダプターが有効化されており、『NAT』が割り当てられていると思います。
「▽Advanced」をクリックするとMACアドレスが確認できます。こちらは後ほどOSでネットワーク設定を行う際に、設定対象のネットワークインターフェースを確認するのに使います。

11.
「アダプター2」をクリックし、「ネットワークアダプターを有効化」のチェックを入れます。割り当てで『ホストオンリーアダプター』を選択します。こちらもMACアドレスを確認しておきます。その後 [OK] ボタンをクリックします。

12.
対象マシンを選択して、右側のネットワーク欄でネットワークアダプターが2つ設定されていることを確認します。

次回はこのVMにRocky Linuxをインストールし、OS側のネットワーク設定を行っていきたいと思います。お疲れさまでした。
◆ 参考文献
・VirtualBoxのネットワーク設定を絵で説明する #Network – Qiita
・【VirtualBox】ネットワークの仕組みや設定方法を解説 (se-memorandum.com)
・VirtualBoxクラウドネットワークを使う – Zenn
・virtualBoxで仮想マシンを作るときはEFIで作ろう|エンジニアM168 (note.com)