Files
pve-project/docs/architecture.md
T
2026-06-18 23:17:06 +02:00

4.9 KiB
Raw Blame History

Architecture Homelab Proxmox VE

Vue d'ensemble

L'infrastructure repose sur un unique hôte physique (GMKtec K12) faisant tourner Proxmox VE. Elle combine des conteneurs LXC pour les services légers et permanents, et des VMs complètes pour les environnements nécessitant une isolation forte ou un système d'exploitation complet.

L'accès aux services depuis l'extérieur est assuré par deux mécanismes complémentaires :

  • WireGuard VPN pour l'administration personnelle (accès complet au homelab)
  • Cloudflare Tunnel pour les accès partagés (Guacamole, TPs), sans aucun port ouvert sur la box

Topologie physique

Internet
    │
    ├─── [UDP 51820] ──────────────────────────────────► WireGuard LXC
    │                                                     (192.168.1.x)
    │
    └─── [HTTPS / Cloudflare Tunnel] ─────────────────► TrueNAS Scale
                                                          (192.168.1.x)
                                                          │
                                                          └─ Agent Cloudflare
                                                             (expose Guacamole)

┌─────────────────────────────────────────────────────────────────┐
│                        Freebox (192.168.1.x/24)                 │
│                                                                 │
│   GMKtec K12  Proxmox VE          TrueNAS Scale               │
│   (192.168.1.x)                    (192.168.1.x)               │
└─────────────────────────────────────────────────────────────────┘

Réseaux virtuels dans Proxmox

Proxmox expose deux bridges réseau principaux :

Bridge Réseau Rôle
vmbr0 192.168.1.x/24 Accès au réseau Freebox (WAN-side d'OPNsense, WireGuard, services directs)
vmbr1 10.1.1.x/24 Réseau interne isolé (LAN-side d'OPNsense, VMs nécessitant isolation)

OPNsense est l'élément charnière : il a une interface sur vmbr0 (côté Freebox) et une sur vmbr1 (côté VMs isolées). Il assure le NAT et le filtrage entre les deux segments.


Placement des services

vmbr0  192.168.1.x/24 (réseau Freebox)
├── OPNsense WAN interface
├── WireGuard LXC          → administration personnelle
└── Guacamole LXC          → accès distant web (exposé via Cloudflare Tunnel)

vmbr1  10.1.1.x/24 (réseau interne isolé)
├── OPNsense LAN interface  → passerelle des VMs isolées
├── VMs de TP               → ont internet via NAT OPNsense, isolées du réseau Freebox
├── VMs Windows Server / AD
└── VMs CTF / Pentest

Logique d'isolation

Trois niveaux de confiance coexistent :

Niveau 1 Réseau Freebox (192.168.1.x) Services directement sur le réseau de la box : WireGuard, Guacamole, TrueNAS. Ces services sont maîtrisés et ne sont pas accessibles publiquement directement (Cloudflare Tunnel pour Guacamole, VPN pour le reste).

Niveau 2 Réseau interne OPNsense (10.1.1.x) VMs nécessitant internet mais devant être cloisonnées du réseau Freebox. OPNsense fait le NAT sortant et bloque tout accès entrant vers ce segment depuis le réseau Freebox.

Niveau 3 VMs éphémères sans réseau Environnements CTF/malware potentiellement dangereux, déployés sans interface réseau ou sur un réseau host-only isolé dans Proxmox.


Choix techniques

Pourquoi LXC pour WireGuard et Guacamole ? Ces services sont bien connus, maintenus, et ne nécessitent pas d'isolation kernel complète. LXC offre une empreinte mémoire réduite et un démarrage quasi-instantané, adapté à des services permanents.

Pourquoi une VM pour OPNsense ? OPNsense requiert son propre kernel et un accès direct aux interfaces réseau. La virtualisation complète garantit l'isolation et permet à OPNsense de gérer ses propres drivers réseau sans interférence avec l'hôte Proxmox.

Pourquoi Cloudflare Tunnel plutôt qu'un reverse proxy exposé ? Zéro port ouvert sur la box (hormis le UDP WireGuard). Le tunnel initie une connexion sortante vers Cloudflare, ce qui élimine toute exposition directe de l'infrastructure. L'authentification Cloudflare Access (email) s'ajoute avant même d'atteindre Guacamole.

Pourquoi héberger l'agent Cloudflare sur TrueNAS et non sur Proxmox ? Séparation des responsabilités : TrueNAS est un service permanent et stable, indépendant de l'état de Proxmox. Si Proxmox redémarre pour maintenance, le tunnel reste actif.