VMware vSphere ESXi のネットワークについて概念をまとめました。
物理と仮想が入り混じって構築時に混乱しがちになりますよね。
「仮想ネットワーク」と「物理ネットワーク」
ESXiをインストール後に最初にする設定は「ネットワーク」です。
VMware vSphere ESXi では「仮想ネットワーク」と「物理ネットワーク」の両方を設定する必要があります。
特に「仮想ネットワーク」を「vNetwork」と呼んでいます。
vSphere ESXi のネットワークは基本的に以下のようになっています。
特徴としては
- 「仮想マシン」が「仮想NIC」を持っている
- 「仮想NIC」と「物理NIC」がある
- 「仮想NIC」と「物理NIC」を結び付ける「仮想スイッチ」がある
- 「物理NIC」から外のネットワーク(物理スイッチ)につながる
- 複数の「仮想マシンの仮想NIC」が複数の「物理NIC」を共有している
です。
VMware vSphere 仮想環境では、ESXi ホスト上に「仮想スイッチ」が作成されます。
そして仮想マシンごとに「仮想NIC」が作成され「仮想スイッチ」に接続されます。
各仮想マシンは「仮想NIC」→「仮想スイッチ」→「物理ネットワーク」環境に出ていきます。
vSphere 標準スイッチ(仮想スイッチ)
vSphere 標準スイッチは、VMware 仮想ネットワークの中心となるスイッチです。
様々な用語が出てきますが、時間を掛けてじっくりと覚えましょう。
vSphere 標準スイッチ(仮想スイッチ)の役目
vSphere の仮想ネットワークでは、「vSPhere 標準スイッチ(仮想スイッチ)」が中心になります。
- 仮想マシン同士の通信
- 仮想マシンと物理スイッチの通信
- 仮想マシンは仮想スイッチを経由して外のネットワーク(物理ネットワーク)と通信
など、「仮想スイッチ」を中心に通信をします。
vSphere 標準スイッチ(仮想スイッチ)とは?
仮想スイッチとはソフトウェア上のL2スイッチです。
仮想スイッチは「仮想NIC」と「物理NIC」の橋渡し的なスイッチです。
また、同じVLANにある仮想マシンの通信を内部的に渡すこともできます。
vSphere 標準スイッチは「仮想スイッチ」とも呼ばれます。
仮想マシンが外部のネットワークにアクセスするためにはホストの物理NICに接続する必要があります。
仮想スイッチはすでに接続されている仮想NICのMACアドレスを知っているので MAC アドレス学習を行いません。
通常スイッチはどのポートにどのNICが接続されているか学習しないと、どこにパケットを転送すればいいのか分かりません。
vSphere 標準スイッチ(仮想スイッチ)上は「ブリッジループ」は発生しない
vSphere標準スイッチ(仮想スイッチ)は「仮想マシン↔仮想マシン」「仮想マシン↔物理NIC」への転送しかしませんので、ブリッジループは発生しません。
外部へは物理NICを経由して出ていく
当然ですが、仮想マシンが外のネットワーク(物理ネットワーク)にアクセスするためには最終的に「物理NIC」を経由して出ていきます。
下図のように「仮想NIC」→「仮想スイッチ」→「物理NIC」→「物理スイッチ」を経由して外部と通信をします。
仮想 NIC とは?
仮想NICとは仮想マシンに割り当てられている仮想的なNICです。
仮想的なNICなので物理的には存在していません。
あくまでもソフトウェア上存在しているだけです。
仮想NICのIPアドレス設定は、各仮想マシン上で行う
仮想NICにIPアドレスを設定する場合は、仮想NICを装着している仮想マシン上から行います。
設定手順は通常のIPアドレスの設定を同様です。
仮想NICはソフトウェア上存在しているだけなのでチーミングは不要
物理NICは障害を起こす可能性があるのでチーミングが必要ですが、仮想NICはソフトウェアで物理障害が起きないのでチーミングは不要です。
仮想NICのMACアドレス体系
仮想NICのMACアドレスは自動で生成されます。
00:50:56:00:00:00 ~ 00:50:56:3F:FF:FF → 手動設定用 MAC アドレス
00:50:56:40:00:00 ~ 00:50:56:FF:FF:FF → 自動生成される MAC アドレス
物理NICとは?
物理NICは、実際にコンピュータに付属しているNIC(ネットワーク・インターフェース・カード)のことです。
仮想マシンが、外の世界(物理スイッチとかインターネットとか)に出ていくときに必ず経由します。
物理NICはアップリンクとして認識される
「アップリンク」という単純な用語が分かりにくいのですが、アップリンク(UpLink)(アップリンクポート)とは、マルチプルVLANの「アップリンクポート」のようなものと考えてください。
つまりすべてのネットワークのデータが流れます。
物理NICは、仮想スイッチ(標準スイッチ)のアップリンクとして扱われます。
言葉を変えると仮想スイッチ(標準スイッチ)上のアップリンクアダプタと物理NICは同じようなものと考えてもいいかもしれません。
物理NICは「IPアドレス」を持っていません。
また、仮想マシンからは物理NICのMACアドレスは隠ぺいされます。
つまり、物理NICのMACアドレスは使用されません。
物理NICはプロミスキャスモードで動作します。
※プロミスキャスモード(promiscuous mode「promiscuous とは無差別という意味」)とは、ネットワークカードの動作モードの一つで、ネットワークを流れるすべてのパケットを受信して読み込むモードです。
仮想マシンはアップリンクアダプタを経由して物理ネットワークに接続します。
物理NICはアップリンクアダプタとも呼ばれます。
アップリンクポートがない場合は、下図のような外部ネットワークと接続できない内部スイッチ環境になります。
その環境では仮想マシン同士のネットワークだけしかつながっていません。
仮想ネットワーク環境のセキュリティの考え方
仮想ネットワークのセキュリティのポイントは
「使用する用途ごとに仮想スイッチを分離すること」
です。
たとえば仮想ネットワークでは以下の用途が考えられます。
- サービス用ネットワーク
- バックアップ用ネットワーク
- 管理用ネットワーク
- vMotion用ネットワーク
- 本番用ネットワーク
- 検証用ネットワーク
あまり細かく仮想スイッチを分けすぎると管理が大変になりますが、用途ごとに仮想ネットワークを分けることで「セキュリティ」と「パフォーマンス」を担保することができるようになります。
仮想スイッチを分離できない時は VLAN で分ける
仮想スイッチで分けることが出来ればいいですが、仮想スイッチが多くなりすぎる場合は VLAN で分けることでセキュリティを担保することができます。
VMKernel ポートとは?
VMKernelポートとは、VMkernel がネットワーク通信に使用するポートです。
VMKernel、つまりホストである ESXi が使用するポートのことです。
以下の機能のために使います。
- 管理用(マネジメント用)
- iSCSI
- NFS
- vMotion
- vSphere FT
- vSphere HA
VMkernelとは?
VMkernelとは仮想化処理のベースエンジン(カーネル)を言います。
通常のOSのカーネルと同様に主な機能は
- CPUのスケジューリング
- メモリ管理
- 仮想マシンと物理H/Wのアクセス管理
などです。
VLANタギングモード
vSphere は VLAN を構成できます。
仮想ネットワークで複数の VLAN を使用する方法として、以下の3つのタギングモードを設定することができます。
- EST(外部スイッチ タギング)
- VST(仮想スイッチ タギング)
- VGT(仮想ゲスト タギング)
EST(External Switch Tagging)(外部スイッチ タギング)
スイッチ ポート グループ VLAN ID:0
ESXi ホストの物理NICが接続された物理スイッチのポートをポート VLAN(アクセス VLAN)に設定します。
そのため、物理スイッチでVLANタギングが実行されます。
ESXi ホストの物理NIC(ネットワークアダプタ)は、物理スイッチのアクセスポートに接続します。
物理NICが割り当てられた仮想スイッチは、その VLAN セグメントになります。
VLANタギングとは、タグ(VLAN識別情報)を付加するということです。
例えば、パソコンAはVLAN10に所属している場合は、フレームに対してVLAN10をタギングします。
※つまりESTに設定されているということは、その物理NICは1つのネットワークセグメントにしか所属しません。
VST(Virtual Switch Tagging)(仮想スイッチ タギング)
スイッチ ポート グループ VLAN ID:1~4094
パケットがホストから送信される前に、仮想スイッチで VLAN タギングが実行されます。
ホストのネットワークアダプタは、物理スイッチのトランクポートに接続されている必要があります。
※トランクポートは複数のVLANに所属するポートです。
アクセスポート → 1つのVLANだけに所属するポートです。
通常、パソコンなどは1つのVLANだけにしか所属しません。
トランクポート → 複数のVLANに所属するポートです。
例えば2つのスイッチを接続する場合、スイッチ間には複数のVLANの通信を通す必要があります。
その場合はトランクポートに設定します。
VGT(Virtual Guest Tagging)(仮想ゲスト タギング)
スイッチ ポート グループ VLAN ID:4095
物理スイッチでタグ VLAN を設定します。
仮想マシンと外部の物理スイッチの間でパケットを転送する時に、仮想スイッチでは VLAN タグを操作せず、VLAN タグが付いたまま仮想マシンにフレームを転送します。
つまり仮想スイッチは、VLAN タグを保持します。
その後、仮想マシンで VLAN タギング(VLAN タグの付け外し)が実行されます。
仮想マシンで VLAN ID を指定するためには、「E1000」もしくは「VMXNET3」を選択する必要があります。
ホストのネットワークアダプタは、物理スイッチのトランクポートに接続されている必要があります。
VLANタギングモードまとめ
ESXi ホストに物理NICが十分ある場合 → EST
ESXi ホストに物理NICが少ないが複数の VLAN を設定したい場合 → VST
一番柔軟性があるのが「VST」です。
もし ESXi を構築してネットワークがうまくつながらない場合は「VST」に設定してネットワーク動作確認をしてみることもありだと思います。
まとめ
VMware 技術情報
VMwareの公式サイトです。
インストールガイド、セットアップガイド、管理ガイドなどすべてのドキュメント・マニュアルが網羅されています。
VMwareは歴史があり、バージョンアップを繰り返し、且つ様々な製品があるため、1つの概念をあらわす用語が多種あり最初は混乱します。
しかし繰り返し勉強することで少しずつ用語と概念が結び付くようになるので焦らずにいきましょう。
コメント