0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Multi-tenant EnablerをProxmoxに入れてみた話。インストール編

Posted at

自宅のPVEにマルチテナント化ツールを入れてみました。使い道編

今回は自宅のProxmoxをバージョンアップ(9.0.11から9.1.4)したかったので、PBSを建てて全てのコンテナとVMをバックアップしました。
そしてバージョンアップのついでに、マルチテナント化ツール(MSL Setup)というのを入れてみました。
**パブリッククラウドからのプライベートへの回帰がはやっているようですが、**今回もプライベートクラウドの話です。

前回は使い道編でした。

記事の内容は以下を参照してください。

今回は実際のインストール編

早速ですが、インストール方法です。
使用したのは以下

  • Proxmox 9.0.11 - 大量にVMが既にデプロイされております。インターネットに接続済みである必要があるります。
  • インターネットルータの設定知識 インストール中、static route, port forwardの設定が必要になります。
  • MSL Setup Personal -> https://www.zelogx.com/ja/
  • (必須ではないが念のため)VMはPBSで既にバックアップ済み (別の機会にVMではなくproxmoxサーバ自信をPBSにバックアップする方法でも投稿したいと思ってますが、今回は違います。

インストール手順

公式インストール手順は以下の通り。

私がインストールしてみた手順は以下の通り

1. Proxmoxにrootでログイン

2. MSL Setupに必要なパッケージと、MSL Setup本体をダウンロード

apt update -y
apt install -y ipcalc jq zip
apt install -y git
git clone https://github.com/zelogx/msl-setup.git
cd msl-setup
./01_networkSetup.sh jp

ここでインストールが始まります。

2.1. 最初は対話式にネットワークアドレスの設定です。

以下の図と説明を見ながら、ネットワークアドレスなどを指定していきます。

qiita_jp.png

** 結果、自分の場合は、全部画面に表示されたままEnterを押すだけでした。**
一つだけ注意ですが、最後のUDPポート番号は、ちゃんとそのポートが利用可能かどうか確認して下さい。

 ちなみにですが、最初の対話式の部分でテナントを何個作るか聞かれますが、8個くらいが無難です。テナント数の2倍(OpenVPNをWireguard用)の個数のポートフォワード指定が必要になります。
 というのも、ポートフォワード指定できる数が自分のルータ(WXR-5950AX12)では32個が最大。
 私の場合、最初16を指定してしまい、他のポートフォワードを合わせると、32個以上必要になってしったため設定できませんでした。
 きっとYAMAHAのルータなどプロ志向の強いルータだと余裕なんでしょう。

2.2. 対話式の指定が終わると、いよいよ実際の設定に入ります。

特に何もすることはありませんでした。エラーが発生しないか見ているだけ。

どちらかというと、Proxmoxのダッシュボードを見ていると、随時、現時点のインストール状況が見えるので楽しいです。自動的にゾーンが増えて行ったり、ホストレベルのFirewall設定が自動的に設定されるのがリアルタイムで見えます。

結果、以下のような画面になります。

バックアップ状態に復元中(追加されたリソースを削除中)...
Deleting VPN pool route........ [OK]
Deleting subnets not in backup.. [OK]
Deleting VNets not in backup.... [OK]
Deleting zones not in backup.... [OK]
Aligning DC firewall options.... [OK]
Aligning host firewall options.. [OK]
Deleting extra host FW rules..... [OK]
Deleting IPSets not in backup.... [OK]
SDNゾーンを作成中........ [OK]
SDN VNetを作成中........ [OK]
SDNサブネットを作成中........ [OK]
SDN設定を適用します... [OK]
IPSet作成を開始します...
IPSetを作成中:  devpjs..... [OK]
IPSetを作成中:  mainlan.. [OK]
IPSetを作成中:  vpn_guest_pool.. [OK]
IPSetを作成中:  all_private_ip..... [OK]
Setting datacenter firewall options... [OK]
[INFO] [2026-02-01 12:00:37] Enabling host firewall and nftables on node pve13...
[INFO] [2026-02-01 12:00:38]   Host firewall and nftables enabled successfully
Host firewall/nftables........... [OK]
Creating host-level FW rules.......... [OK]
Adding VPN pool route............ [OK]

ちなみにこのステップのみを再実行したい場合は、なんと中でバックアップを取得しているようで、以下のコマンドでも手動で戻すことが出来ました。また、単純に以下のコマンドを実行すると自動的に最初の状態までロールバックされ、そこから再度実行してくれます。
./01_networkSetup.sh jp --restore

2.3. 設定が終わると、一旦停止します。

そしてコンソールに以下のような表示が出ます。

手動設定が必要です: ルーター設定 (手動操作が必要)

========================================
ルーター設定のお願い
----------------------------------------
以下の設定をルーターに適用してください(値は自動展開済み):

 - スタティックルート: 宛先 172.19.16.0/22 → ゲートウェイ 192.168.77.60
 - ポートフォワード (OpenVPN): 15952-15955/UDP → 192.168.77.29
 - ポートフォワード (WireGuard): 15956-15959/UDP → 192.168.77.29

設定完了後、次のフェーズに進んでください

この画面の指示に従って、スタティックルートとポートフォワードの設定を自分のインターネットルータに設定します。
この部分は、各自使用しているルータによって設定画面が大きく異なると思うので、ここでは説明を割愛します。

このステップを飛ばしてしまうと、次のVPNサーバの設定が正常に動作しませんので、必須のステップです。

2.4. ルータの設定が終わったら次のステップ。

以下のコマンドで次のステップを実行(VPNサーバのインストール)を実行します。

./02_vpnSetup.sh jp

このステップでは、cloudinitを使ってUbuntu VMを自動インストールし、その後、PritunlをそのVMの上にインストールしてくれているようです。

推測ですがこのステップの凄いところは、PritunlのVMを作る前に、そもそもVMから各ネットワークへReachabilityがあるかどうかを確認してからPritunlのインストールを行っているようで、しかもルータから本当にポートフォワード出来ているのかも内部で確認しているようです。(画面の表示から推定)

2.5. 前のステップが終わったら

以下のような画面が表示されます。

===============================================
 Pritunl Configuration Reference
===============================================

The configuration reference has been saved to the
Proxmox VM notes section.

View it here:
  https://192.168.77.60:8006/#v1:0:=qemu%2F100:4:=notes

===============================================

[INFO] [2026-02-01 12:35:33]
[INFO] [2026-02-01 12:35:33] ==============================================
[INFO] [2026-02-01 12:35:33] Phase 3 Automated Setup: COMPLETED
[INFO] [2026-02-01 12:35:33] Logs: /root/dev/proxmox-msl-setup/logs/msl-setup_20260201_123158.log
[INFO] [2026-02-01 12:35:33] ==============================================
[INFO] [2026-02-01 12:35:33]
[INFO] [2026-02-01 12:35:33] Snapshot checkpoint saved for future retries

==========================================
フェーズ 2 完了: VPN セットアップ成功

セットアップ完了!
==========================================

2.6. これで、Personal エディションのインストールは終わりです

まずコンソールログに書いてある、URLを開いて見ましょう。Pritunl VMのNotesセクションに、Pritunl VMへろログイン方法と、クレデンシャルが表示されています。
以下のような画面です。
qiita_pritunl_notes.png

そして、さらにホストレベルのNotesには今回増築された部分のネットワークの詳細がネットワーク図として表示されてます。以下のような画面です。

qiita_host_notes.png

3. この後実施する事

はい。ここまででセットアップ作業は一旦終わりです。
各テナントにリモートから入って内部のVMを触るためには、Pritunl VMのUIから、Pritunlへユーザ登録をする必要があります。

また、vmbr0上に構築されたVMを隔離ネットワークに移動するには、一旦VMを落として、NICの設定をvmbr0からvnetpjXX(XXはテナント番号 00, 01, 02,....)に繋ぎ変えればOKです。なお、VMに静的IPで、そのテナント用のセグメントのIPアドレスを振ってやる必要があります。

この辺はまた時間があったら、運用編という感じで説明しようかと思います。

4. まだ終わりません笑

Corporate版にはこのあとにセルフケアポータルのインストールが出来るようです。
実行は以下のとおりなのですが。。。。。

./0203_setupSelfCarePortal.sh en   # Language: en|jp (default en)

そしてなんとなんと、Personalエディションでも自分でセルフケアポータルを手動で構築できてしまいます。その記事が以下です。

Reddit r/Proxmox

まとめ

 今回は、自宅のProxmox(PVE)をアップグレードするついでに、MSL Setup(マルチテナント化ツール)を実際にインストールしてみた記録です。
やったことは大きく2つで、

  • (1) 対話式ウィザードでネットワーク設計値を確認→SDNゾーン/VNet/IPSet/ホストFWなどを自動構築
  • (2) ルータ側でスタティックルート+UDPポートフォワードを設定してから、Pritunl(VPN)VMを自動展開してVPN入口まで完成

という流れ。結果として、プロジェクトごとにL2分離された“隔離ネットワーク”+プロジェクト別VPN入口が自宅PVE上に一気に増築され、ProxmoxやVMのNotesに「構成メモ/ネットワーク図/Pritunlログイン情報」まで残るので、あとから見返すのが楽でした。
次回は、テナント内にVMを移設して実運用する手順(ユーザ追加、VMのNIC差し替え、IP設計など)を書いていく予定です。

リンクまとめ

  • 前回の記事 (使い道編)

マルチテナント化ツールは以下で紹介されていました。

  • Reddit #1:

  • Reddit #2:

  • オフィシャルWEBサイトらしい

  • ダウンロードページ(Githubリポジトリ)

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?