はじめに
仮想化環境では、ネットワークを分けて管理したいことがあり、その際にVLANを構築するケースが多くあります。
これは proxmox でも同様で、私は今まで192.168.0.1/24の家庭内ネットワークにそのままproxmoxを構築してクラスタを組んでいたため、セキュリティ面に多分に問題がある状態でした。
今回、ちゃんとさせようと思い、VLANにてネットワークを論理的に分割する設計で構築することとしました。
構成案
構成1 NICを2本以上
VLANを使用する方法の構成はいくつかあり、最もスタンダードなものは、インターフェースを2つ以上用意する方法です。
NIC1:管理ネットワーク (VLAN無し、ポートVLANがある場合もある)
NIC2:一般ネットワーク (VLAN有り)
分ける理由は主に2つ
①セキュリティの問題。これは言わずもがなです。
②そして、最重要な点が、マイグレーションの際に大量通信が発生して、一般のネットワーク(大抵はサービスのトラフィックがある)の遅延、スピード低下などパフォーマンスに影響するためです。
また、管理ネットワークをVLAN無しにする理由もいくつかあります。
①まず、インストールの際に設定できないこと。構築後に別途設定する手間がかかります。
②次に、トラブル時にリモートから接続できなくなるなどトラブルシュートの厄介さ。Windows端末だとドライバーの種類によってはVLANを使用できない場合があったり、設定できても面倒だったりします。
③最後に他機器のサポート有無。管理ネットワークには他の機器の管理ポートを接続することもありますが、VLANを使用できない機器があるためVLAN無しにしてしまうケースが多いです。
これらにより、物理的にネットワークを分け、VLAN無しの素のネットワークを使用します。
VMwareもこの構成を推奨しており、管理ネットワークを一般ネットワークと混合しようとすると警告が表示されたりします。
まぁ、VMwareの場合は、マイグレーション用にもう一本NICを用意する(つまりNICを3本用意)のがベストプラクティスですが、家庭用にはちょっと大規模すぎるかなという印象です。ケーブル何本も這わせるの大変ですしね・・・
業務で使用する場合はこの構成が良いです。業務用サーバーにNICが何本もあるのはこれが理由です。
構成2 NICを1本
2つ目は1つのNICに全てのネットワークを集約してしまう方法です。
NIC1:管理・一般混合ネットワーク
このメリットはホスト側にNICを追加しなくて良い、スイッチを半減できる、ケーブリングも半減、スイッチの電気代が半減など、コスト面のメリットが大きいです。
それ以外の点では構成1に劣ります。
ただ、本格的に運用するならまだしも、自宅や検証環境でproxmoxを使用する場合はこちらの方が良いと思います。
今回はこちらの構成2で作成します。
機材
サーバー
ヤフオクで買ってきた中古PCです。NICが1本あります。

スイッチ
スイッチはTP-LinkのTL-SG108Eを使用することにしました。VLANが使用できる激安スイッチです。
https://www.amazon.co.jp/dp/B00JKB63D8

手順
管理ネットワークのVLAN
管理ポートのVLANの設定方法は以下のproxmox公式に記載されています。
こちらの通りに設定すればよいです。
VLAN on the Host
https://pve.proxmox.com/wiki/Network_Configuration#sysadmin_network_vlan
→ Example: Use VLAN 5 for the Proxmox VE management IP with VLAN aware Linux bridge
例:
auto lo
iface lo inet loopback
iface eno1 inet manual
auto vmbr0.10
iface vmbr0.10 inet static
address 10.10.1.1/16
gateway 10.10.0.1
auto vmbr0
iface vmbr0 inet manual
bridge-ports eno1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
vmbr0.10の「10」がVLAN IDです。
vmbr0.100に変更すれば VLAN 100 を使用する意味になります。
このVLAN IDを修正すれば使用できます。
また、bridge-vlan-aware にて VLANを使用できるように変更し、bridge-vids にて VLANID 2~4094まで通す設定とします。
※ 注意:管理IPは変更しないことを勧めます。この設定ファイルだけ更新すれば反映するわけではないためです。
IPアドレスも変更する場合は、以下のページを参照して変更するか、セットアップし直すことを勧めます。後者推奨
変更後は「ifreload -a」で読み込みができます。
ifreload -a
ただ、rebootの方が推奨のようです。
reboot
一般ネットワークのVLAN
管理ポート以外の一般ネットワークのVLANはWebUIから設定できます。
Host の System > Network > Create > Linux VLAN の設定からVLANを追加します。

VLAN20とVLAN30を追加すると以下のようになります。

スイッチ
スクショを忘れてしまったのですが、私は上位にL3を用意したため、スイッチのポートは全てタグVLANに設定しました。
TP-Linkを使用される場合は以下のページをご参考に。
結果
これで接続できるようになっていると思います。
端末にVLANの設定(Windowsの場合はNICのドライバーで設定することが多い)を行えば接続できます。
以上
コメント