HomeLabネットワークの限界
先週の土曜日、私のHomeLabは限界を迎えました。公開用のWebサーバーのためのDMZ、内部データベース層、そしてマルウェア分析用の隔離されたサンドボックスといった、標準的なマルチティア環境を構築しようとしていた時のことです。当時は、標準的な Linux Bridge(vmbr0、vmbr1)と25ドルのアンマネージドTP-Linkスイッチを駆使して何とかやりくりしていました。
新しい隔離セグメントが必要になるたびに、デスクの下に潜り込んでケーブルを差し替えたり、/etc/network/interfacesを手動で編集したりしなければなりませんでした。そして、神経をすり減らすネットワークの再起動が待っています。ブリッジ設定のタイポ一つでSSHアクセスが遮断され、モニターとキーボードをサーバークローゼットまで運ぶ羽目になります。このアプローチでは拡張性がありません. デスクの上はCat6ケーブルがスパゲッティ状態になり、設定はいつ壊れてもおかしくない危うい状態でした。
ラボの成長に伴い標準ブリッジが限界を迎える理由
多くの人はデフォルトのLinux Bridgeから始めます。すべてのVMがホームルーターからIPを取得するだけであれば、これで完璧に動作します。しかし、ラボが成長するにつれて、主に3つの大きな壁にぶつかります。
- 構成の不一致(Configuration Drift): ブリッジはすべてのノードで手動設定が必要です。VMをノードAからノードBにマイグレートした際、2番目のノードで
vmbr10を作成し忘れていると、VMは即座に接続を失います。 - ハードウェアへの依存: トラフィックを適切に隔離するには、通常VLAN対応のマネージドスイッチが必要です。家庭用の基本的な機器を使用している場合、行き詰まってしまいます。
- レイヤー2の限界: 複雑な手動VPNトンネルを設定せずに、2つの異なる物理的な場所やサブネット間でプライベートネットワークを拡張することは非常に困難です。
Software Defined Networking (SDN) をマスターすれば、この複雑さを物理ハードウェアから切り離すことができます。制御を本来あるべきソフトウェアレイヤーに戻すことができるのです。
手動VLAN vs. Proxmox SDN
SDNの道に進むと決める前に、私は数週間かけて代替案を検討しました。組み込みのProxmox SDN機能と従来の手法を比較すると以下のようになります。
| 機能 | 手動Linux Bridge | 物理マネージドスイッチ | Proxmox SDN |
|---|---|---|---|
| 導入コスト | $0 | $150 – $500+ (Ubiquiti/MikroTik) | $0 (標準機能) |
| 手間 | 高い (ノードごとに手動) | 中程度 (ハードウェア設定) | 低い (GUIで自動化) |
| クラスター同期 | なし | 手動 | 全ノードで即時同期 |
| 柔軟性 | VLANのみ | ハードウェアに依存 | VXLAN, EVPN, VLAN, Simple |
Proxmox SDNのセットアップ
Proxmox SDNはバージョン8.1でコア機能となりました。これにより、Webインターフェースを通じて「ゾーン(Zone)」と「VNet」を定義できるようになります。Proxmoxが背後でLinuxコマンドを生成し、クラスター全体にブリッジとトンネルを自動的にデプロイしてくれます。
1. 必須パッケージのインストール
SDNは組み込み機能ですが、DHCPや高度なルーティングを処理するために2つの特定のパッケージが必要です。Proxmoxのシェルを開いて以下を実行してください。
apt update
apt install -y frr-pythontools libpve-network-perl
完了すると、Web UI의「データセンター」タブの下に新しいSDNメニューが表示されます。
2. ゾーンの定義
ゾーン(Zone)はネットワークの境界です。単一ノードのラボであれば、Simpleゾーンで十分です。複数のノードがある場合は、VXLANが適しています。
- データセンター > SDN > ゾーンに移動します。
- 追加をクリックし、Simpleを選択します。
- 名前を付けます(例:
LabZone)。 - ProxmoxにIPアドレスを割り当てさせたい場合は、「Automatic DHCP」を有効にします。
3. VNetの作成
VNetは仮想スイッチだと考えてください。これが、VMのネットワークアダプターに実際に接続するインターフェースになります。
- データセンター > SDN > VNetsに移動します。
- 作成をクリックします。
WebDMZのような名前を付け、LabZoneに関連付けます。
4. サブネットとIPAMの設定

