Raspberry Pi 5 に Proxmox VE(以下 PVE)を導入し、VPN サーバと Zabbix サーバをまとめて構築しようとしたところ、私は大きな落とし穴にはまってしまいました。
原因はとてもシンプルで、 「PVE のコンテナ(LXC)を Docker のように扱ってしまった」 という勘違いです。
特に私は、 Tailscale の Exit Node を LXC で動かしていた という点が大きなトラブルの引き金になりました。
この記事では、私の実体験をもとに、 LXC と Docker の違い そして Proxmox でサービスをどう分離すべきか を初心者向けに分かりやすく解説します。
LXC と Docker は“似て非なるもの”
まず押さえておきたいのは、 PVE のコンテナ=LXC は OS レベルのコンテナ Docker は アプリケーションレベルのコンテナ という点です。
LXC(OS レベルのコンテナ)
- ホストと カーネルを共有
- systemd が動く
- ネットワークは仮想 NIC を割り当てる
- ほぼ「軽量な VM」に近い
- 1つのコンテナに複数サービスを入れることも可能(ただし推奨されない)
Docker(アプリケーションレベルのコンテナ)
- プロセス単位で隔離
- イメージのレイヤー構造
- ネットワークはコンテナ内部で完結
- 1コンテナ=1プロセスが基本
- サービスの分離が前提
つまり、 LXC は OS を動かす箱、Docker はアプリを動かす箱 という違いがあります。
私がつまづいたポイント:Exit Node と Zabbix を同居させた
私はこの違いを理解しないまま、 「LXC に VPN(Tailscale Exit Node)と Zabbix を同居させれば軽くて便利だろう」 と考えてしまいました。
しかし、実際には次のような問題が発生しました。
Tailscale Exit Node がネットワークを“握る”
Exit Node は以下のような動作を行います。
- ルーティングテーブルの変更
- NAT の設定
- IP 転送の有効化
- ファイアウォールルールの追加
つまり、 LXC 内で動かすと、そのコンテナ全体のネットワークを支配する という性質があります。
Zabbix の通信が不安定に
同じ LXC 内で動かしていた Zabbix は、
- Web インターフェース
- Zabbix Server
- Zabbix Agent
- DB(MariaDB/PostgreSQL)
など複数のコンポーネントが連携して動きます。
しかし Exit Node がルーティングを変更するため、
- Zabbix の Web が開かない
- DB との通信が途切れる
- systemd の起動順によって Zabbix が起動しない
といった問題が頻発しました。
Docker 的な感覚で LXC を扱ったのが原因
Docker なら「VPN コンテナ」と「Zabbix コンテナ」を分離できますが、 LXC は OS レベルなので、 同じコンテナ内でネットワークを触るサービスと複雑なアプリを共存させるのは無理筋 でした。
正しい構成はこうすべきでした
Proxmox では、サービスごとに環境を分けるのが基本です。
VPN(Tailscale Exit Node)は専用 VM または専用 LXC
ネットワークを触るサービスは隔離が必須です。
特に Exit Node は 「ネットワークの主導権を握る」 ため、他サービスと同居させてはいけません。
Zabbix は専用 VM または Docker(Podman)
Zabbix は複数コンポーネントで構成されるため、
- VM でまとめる
- Docker で分離する
のどちらかが現実的です。
Raspberry Pi 5 なら VM でも十分動く
「VM は重い」というイメージがありますが、 Pi5 の性能なら軽量 Linux VM は問題なく動作します。
Proxmox の“コンテナ”は Docker ではありません
今回の経験から、私は次のことを強く実感しました。
- LXC と Docker は役割が違う
- PVE のコンテナはアプリ分離には向かない
- ネットワークを触るサービスは必ず専用 VM に分離すべき
- Exit Node を LXC に入れると他サービスが巻き込まれる
- 初心者ほど Docker 的な感覚で LXC を扱ってしまう
この記事が、同じように Proxmox を触り始めた方の参考になれば幸いです。
おわりに
Proxmox はとても便利な仮想化基盤ですが、 「コンテナ」という言葉が誤解を生みやすい部分でもあります。
私のように “Docker のつもりで LXC を使ってしまう” というミスは多くの初心者が経験するポイントです。
この記事が、あなたの Proxmox ライフをより快適にする一助になれば嬉しく思います。



コメント