2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Proxmox + Pritunl だけで “完全隔離の開発環境” を公開するフレームワークを作った話

Last updated at Posted at 2025-11-30

〜MSL Setup(Multiverse Secure Lab)の作者が裏側を語る〜


2025-12-19 追記

本記事の内容をベースにした自動構築フレームワーク
MSL Setup Pro v1.0.0 (Personal License) をリリースしました。
同じ構成をワンコマンドで立ち上げたい方は、公式サイトをご覧ください。
👉 https://www.zelogx.com/

はじめに

こんにちは、Masa(Zelogx)です。

自宅 Proxmox で複数の開発プロジェクトを同時に回していくうちに、
「もう限界だろこれ…」という問題が蓄積していきました。

その問題を全部まとめて解決するために作ったのが、
MSL Setup(Multiverse Secure Lab Setup) です。

試しに Reddit で投稿したらトレンド入り。Google検索でも “proxmox msl setup” がトップに出るようになったので、ここで作者として日本語で紹介しておきます。(この記事作成時点では)

githubで構築手順は公開しています。
https://github.com/zelogx/proxmox-msl-setup-basic


なぜ作ったのか?(背景)

自宅ラボでいろんなプロジェクトを同時に回していると、
必ずこういう問題にぶつかります。

  • 外部から VPN 経由で TEAM と共有できる開発環境 が欲しい
    → でも“自宅 LAN 全部丸見え”はさすがに無理
  • PJ ごとにネットワークを完全に隔離したい
    → 他のPJの機密事項を保証できない
  • VLAN を使わずに L2 分離したい
    → 高価なマネージドハブなんか持っていない
  • VPNクライアントの管理を効率化したい
    → 証明書・鍵の管理を脳内メモリでやる時代はもう無理
  • 自宅ネットワークをどう作ったか整理して管理したい
    PVEのNotesにネットワーク図が貼ってあれば最高だけど、以下のように表示できます。
    かつsvgなので、LANの線がアニメーションで動くギミック搭載笑

pve1-Proxmox-Virtual-Environment-11-28-2025_10_35_PM.png

結論はこうでした:

どの問題も“既存の構成”では限界。
じゃあ、全部まとめて自動化できるフレームワークを作ればいい。


MSL Setup とは?(ざっくり)

Proxmox(SDN Simple Zone + PVE Firewall)と
Pritunl(OpenVPN/WireGuard)を組み合わせて、

「プロジェクトごとに完全隔離された L2 ネットワーク+専用VPN」
を構築する手順書
です。

外部のチームメンバーを安全に招待でき、
PJ 間はL2分離で通信不可能。
自宅(または会社)のメイン LAN も絶対に見えない。

ひと言で言うと:

Proxmox で“複数のゼロトラスト開発環境”を作るためのフレームワーク。


MSL Setup の特徴(作者視点で本音)

■ 1. mainLANから切り離された “安全な公開環境” を作れる

PoC環境
共同開発環境
オフショア開発メンバへの環境提供
などなど、用途はさまざま

これらを会社(または自宅) Proxmox の中に置きつつ、
mainLANを決して晒さずに外部へ公開できる のは想像以上に便利です。
なお、VPNユーザは自分でproxmox画面(VM、FW設定)は触れないので、安全です。
(勿論、ここをVPNクライアントに公開してRBACで可能な範囲を限定する事は可能ですが、今回の手順には含めてません)


■ 2. PJごとに独立したVPNをPritunlで実現

Pritunl をバックエンドにして、PJ単位で VPN を完全自動生成。

  • PJ-A の VPN → A の VM しか見えない
  • PJ-B の VPN → B の VM しか見えない
  • mainLAN → 一切見えない

この画面から以下の作業が行えます。
Pritunl-11-30-2025_03_07_PM.png

  • VPNクライアントユーザの管理(追加・変更・削除・サスペンド・リジューム)
  • 所属組織の管理
  • VPNクライアントコンフィグはユーザ登録すると自動生成。コンフィグのダウンロード、またはダウンロードリンクの取得

また、以下の画面でこれらのことが可能です。
Pritunl-11-30-2025_03_12_PM.png

  • ユーザ組織の個別PJ用VPNサーバへの割り当て(≒PJ用LANへの割り当て)
  • 個別VPNサーバの起動停止制御

簡単に運用とVPNトラフィックを図式化すると以下のようになります。
zelogx-MSL-Setup_VPNtraffic.png


■ 3. プロジェクト作成 → 必要なネットワークを事前に生成しておきます。

なので、あとは、VM作るときにNICをPJ用のブリッジ(vnet)に接続するのみです。


■ 4. VLAN 完全不要。家庭用ルータでOK

MSL Setup は VLAN を一切使いません

Proxmox SDN の VNet と PVE-Firewall(nftables使用) の組み合わせで
L2 ブロードキャスト域レベルの完全隔離ができます。

だから:

  • ルータ買い換え不要
  • 家庭用スイッチでOK

という “Proxmoxあれば誰でも再現できる構成” にしています。


■ 5. ホストノードのリスクを最小化できる

MSL Setup のネットワークは:

VM → PJネットワーク → PVE FWで強制遮断 → (必要ならNAT) → mainLAN

という流れになっていて、
VMが乗っ取られても mainLANまで到達しにくい構造 になっています。

■ 6. 運用

非常にシンプルです。

  • 項番3に記載してます。VM作成時、PJ毎に隔離されたブリッジにvnetでNICを接続するのみ
  • これも項番2に記載済み。VPNクライアントのユーザをPritunlに登録、クライアントコンフィグ配布

🛠️ 技術スタック

  • Proxmox VE 9
  • Proxmox SDN Simple Zone + VNet
  • Pritunl(VPN)OpenVPN/Wireguard

🎯 まとめ

MSL Setup は:

「Proxmox で複数PJを安全かつ完全隔離して運用するための環境構築手順」

です。

  • homelab
  • 個人開発
  • チーム開発
  • 受託PJ
  • PoC
  • 検証環境
  • 企業内の安全な dev 環境

どれでもそのまま転用できます。

ぜひ GitHub を覗いてみてください!

💾 GitHub(Basic版)

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?