検証環境
- VMware ESXi 7.0.0
- VMware Workstation Player 16.1.2 上に構築
ESXi における仮想マシン用ネットワークの仕組み
ESXi では、仮想マシンのネットワーク通信のために内部で仮想ネットワークを設定することができます。
設定は Web 管理画面の [ネットワーク] から実施します。
上の画面からもわかるように、ネットワーク設定を構成する項目として以下が存在します。
- ポートグループ
- 仮想スイッチ
- 物理 NIC
- VMkernel NIC
- TCP/IP スタック(ここでは詳細は省略します)
- ファイアウォール ルール(ここでは詳細は省略します)
まず上の各項目間の関係を図に表すと、以下のようになります。
物理 NIC(物理アダプタ)
ESXi がインストールされている機器に搭載されている物理 NIC です。
後述の仮想スイッチと関連付けて使用されます。
仮想スイッチ
仮想スイッチは、ESXi 内部で動作する仮想スイッチ(L2)です。仮想スイッチを介して物理アダプタと仮想マシンのネットワークアダプタが接続されます。
仮想スイッチの設定では、仮想スイッチに紐づける物理アダプタの指定などを行います。
ポートグループ
ポートグループは仮想アダプタ(仮想マシンのネットワークアダプタ等)が所属するグループです。
ポートグループの設定では、作成先仮想スイッチの指定や Vlan ID の指定(タグ Vlan を使用したい場合)などを行います。
ポートグループに所属する仮想アダプタがどれになるのかについては、仮想アダプタ側の設定で決まります。
例えば仮想マシン作成時のネットワークアダプタ設定ではアダプタの作成先となるポートグループを指定します。
仮想アダプタは必ずいずれかのポートグループに所属することになります。
VMkernel NIC
VMkernel NIC は、ESXi 管理用通信などのために使用する仮想アダプタです。
VMkernel NIC に対しては、以下のような項目を設定します。
- 作成先ポートグループ
- IP アドレス(DHCP or スタティック)
- サービス
- 用途となるサービスを指定
デフォルトの仮想ネットワーク
デフォルトでは以下のような仮想ネットワークが設定されています。
- vSwitch0 という名前の仮想スイッチが作成されている
- 上画像内には表記されていませんが vSwitch0 という名前になっています
- vSwitch0 には物理アダプタが紐づけられている
- 物理アダプタの数は ESXi コンソールの設定画面で管理用ネットワークのネットワークアダプタとして指定したアダプタの数だけ存在している状態になる
- vSwitch0 には以下 2 つのポートグループが紐づけられている
- VM Network
- デフォルトでは仮想アダプタは存在しない
- Management Network
- VMkernel NIC が一つ紐づけられている (vmk0)
- vmk0 の IP アドレスとしては ESXi コンソールの設定画面で設定した管理用ネットワークの IP アドレスが設定されている
- VMkernel NIC が一つ紐づけられている (vmk0)
- VM Network
仮想スイッチの作成方法
仮想スイッチは任意に追加することができます。その手順を以下に記載します。
まず Web 管理画面のネットワーク画面を開き、仮想スイッチタブを開きます。
仮想スイッチタブ画面の左上にある [標準仮想スイッチの追加] をクリックします。
以下の設定画面が表示されるため各項目を設定します。
- vSwitch 名(必須)
- 作成する仮想スイッチの表示名
- MTU(必要に応じて変更)
- アップリンク 1(必要に応じて変更)
- 紐づける物理アダプタ
- 指定しないことも可能
- 他の仮想スイッチで使用されている物理アダプタは指定できない
- リンクの検出(必要に応じて変更)
- セキュリティ(必要に応じて変更)
設定できたら右下の [追加] をクリックします。
仮想スイッチタブ画面で、仮想スイッチが追加されたことを確認します。
上の画面で仮想スイッチの名前部分をクリックすると、以下のような詳細画面を表示できます。
以上で仮想スイッチの追加は完了です。
ポートグループの作成方法
ポートグループについても任意に追加することができます。その手順を以下に記載します。
Web 管理画面のネットワーク画面を開き、ポートグループタブを開きます。ポートグループタブの画面で [ポートグループの追加] をクリックします。
以下の設定画面が表示されるため各項目を設定します。
- 名前(必須)
- 作成するポートグループの表示名
- VLAN ID(必要に応じて変更)
- ポートグループに対応付ける Vlan ID
- 0 の場合タグ無し
- 1~4094 の場合、指定した ID のタグをポートグループで付け外しする
- 4095 の場合はポートグループでタグの付け外しはしない(仮想マシン自身でタグ付けする場合指定)
- 仮想スイッチ(必須)
- ポートグループ作成先の仮想スイッチを指定
- セキュリティ(必要に応じて変更)
設定できたら右下の [追加] をクリックします。
ポートグループタブ画面で、ポートグループが追加されたことを確認します。
上の画面でポートグループの名前部分をクリックすると、以下のような詳細画面を表示できます。
以上でポートグループの追加は完了です。
VMkernel NIC の作成方法
ESXi 管理用通信などに使用する VMkernel NIC についても任意に追加することができます。その手順を以下に記載します。
Web 管理画面のネットワーク画面を開き、 VMkernel NIC タブを開きます。 VMkernel NIC タブの画面で [ VMkernel NIC の追加] をクリックします。
以下の設定画面が表示されるため各項目を設定します。
- ポートグループ(必須)
- VMkernel NIC の作成先となるポートグループを指定
- MTU(必要に応じて変更)
- IP バージョン(必要に応じて変更)
- IPv4 設定(必須)
- DHCP かスタティックで指定
- TCP/IP スタック(必要に応じて変更)
- サービス(必須)
- 有効にするサービスを指定
- ESXi の管理画面への Web アクセスについてはこのサービス設定に関わらず可能
- ESXi と vCenter サーバ間の管理通信であれば [管理] にチェックを入れる
- その他のサービスの内容については次のページ参照:https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.networking.doc/GUID-1C0D8D8D-F9A5-4443-9AE7-544742630D39.html
設定ができたら画面右下の [作成] をクリックします。
VMkernel NIC タブの画面で VMkernel NIC が追加されたことを確認します。
VMkernel NIC 作成先ポートグループが所属する仮想スイッチの詳細画面で、トポロジを確認してみます。
上画像のようにポートグループに VMkernel NIC が追加されていることが分かります。
ネットワーク構築例
アップリンクをアクセスポートにする場合
仮想スイッチのアップリンクをアクセスポートにする場合は以下のように設定します。
- ポートグループの Vlan ID を 0 にする
- 仮想スイッチに紐づく物理アダプタに接続する L2SW のポート設定をアクセスポートとする
アップリンクをトランクポート(タグVlan)にする場合
仮想スイッチのアップリンクをトランクポート(タグVlan)にする場合は以下のように設定します。
- ポートグループの Vlan ID を 1~4094 から設定する
- 仮想スイッチに紐づく物理アダプタに接続する L2SW のポート設定をトランクポートとする
1つの仮想スイッチ配下に存在する仮想マシン間で、ネットワークセグメントを分けたい場合などにこのような構成とします。
この場合にネットワークセグメントが異なる仮想マシン間で通信をするためには、L2SW 上位に存在するルータを介してルーティングをする必要があります。
仮想スイッチとポートグループのセキュリティ設定について
仮想スイッチやポートグループのセキュリティ設定で、以下項目の承諾/拒否を設定できます。
- 無差別モード
- MAC アドレス変更
- 偽装転送
これらの設定が「拒否」(デフォルト)になっている場合、一部のネットワーク通信がうまくいかない場合があります。例えば、仮想マシン間の VRRP 通信など。
このことから、仮想マシンが関係する一部のネットワーク通信がうまくいかない場合、当該仮想マシンの仮想アダプタが所属するポートグループや仮想スイッチのセキュリティ設定を承諾へ変更してみる、という切り分け方法が有効な場合があるため、必要に応じて試してみてください。