問題点
前回、レイヤー3でセグメントを分けた。ただ、このままだと大きな問題がある。
自鯖環境はノード3つと Wi-Fi ルーターがすべて、同じスイッチングハブに接続している。
この状態で、例えば Router に DHCP Server を設置して、LAN2 の PC に DHCP でアドレスを割り当て��うとしても、Wi-Fi ルーターの DHCP から LAN1(192.168.1.0/24)のアドレスが割り当てられることがある。
または、下図の PC に、LAN2(10.0.1.0/24)のアドレスが割り当てられることもある。
ブロードキャストがスイッチングハブを経由して LAN1、LAN2、LAN3 の全てに到達するため、LAN 内に2つの DHCP Server が存在しているから当然といえば当然。
これを解決するため VLAN を設定する。
タグ VLAN その1(仮想アクセスポートに設定)※オススメ
まず、Router を設置しているノードから、VLAN のトランクポートとして vmbr0(Linux Bridge)を設定する。
Proxmox をインストールしているノードには少なくとも一つ以上の物理 NIC と仮想ブリッジがあるハズだから、Proxmox のノードの管理画面から、「システム」の「ネットワーク」で最初から存在している vmbr0 の設定画面で「VLAN aware」にチェックを入れる。これで、物理的な NIC の enp6s18 に VLAN を設定することが可能となる。
続いて、同じ画面から「作成」をクリックして Linux VLAN を作成する。
名前は vlan100 としているが、VLAN タグは名前の下数字が適用される。
VLANのRAWデバイスには、先程 VLAN を有効化した物理 NIC の名前を入力して紐付ける。
最後に、先程作った vlan100 に紐付ける Linux Bridge を作成する。
名前は区別しやすいよう適当に。
ブリッジポートには先の vlan100 を入力する。
同じように、vlan100 と vmbr100 を、VM/CT を設置する各ノードで作成すれば、最初の画像の LAN2 で VLAN を作成できる。
あとは、仮��マシンやコンテナを作るときに、ネットワークとして最初から存在する vmbr0 ではなく、作成した vmbr100 を選択すれば OK(後で変更可能)。
タグ VLAN その2(VM,CT の仮想 NIC にタグを設定)
vmbr0 の設定画面で「VLAN aware」にチェックを入れるのは同じ。ただし、VLAN 用の Linux Bridge は作らずに、Router の仮想 NIC(10.0.1.1/24)と VM/CT の仮想 NIC にタグ VLAN を設定することで VLAN を構成する。
仮想マシンの数が少なければお手軽でいいけれど、台数が多いと VLAN の構成を変更したときに、各仮想マシンの設定を手動で変更する必要があるから大変かもしれない。
感想
Proxmox のような仮想化基盤環境でネットワークを分割するなら、サブネットによるネットワークセグメントの分割と、VLAN による L2 レベルでの分割を併せて設定するのが無難なような気がする。
コメント