Skip to content

Proxmox VE

Proxmox VE est un hyperviseur open source combinant KVM et LXC dans une seule plateforme. Ce guide couvre l’installation, la configuration réseau avec VLANs, et le provisioning des conteneurs.

Internet
Firewall / Routeur (OPNsense, pfSense…)
Switch VLAN-aware (trunk)
┌─────────────────────────────────────┐
│ Proxmox host │
│ vmbr0 (VLAN-aware) — vmbr1 (DMZ) │
│ │
│ LXC services internes (VLAN lab) │
└─────────────────────────────────────┘
┌───────────────────────────┐
│ DMZ — réseau isolé │
│ Services exposés internet│
└───────────────────────────┘

Télécharger l’ISO depuis proxmox.com et booter dessus. Configurer lors de l’installation :

IP : <PROXMOX_IP>/24
Gateway : <GATEWAY_IP>
DNS : <DNS_IP>
Hostname: pve.<YOUR_DOMAIN>

Proxmox gère le réseau via /etc/network/interfaces. La configuration suivante définit :

  • vmbr0 — bridge VLAN-aware, trunk vers le firewall, utilisé par tous les LXC internes
  • vmbr1 — bridge DMZ isolé pour les services exposés sur Internet
Terminal window
nano /etc/network/interfaces
auto lo
iface lo inet loopback
# Interface physique en mode trunk
auto <PHYSICAL_INTERFACE>
iface <PHYSICAL_INTERFACE> inet manual
# Bridge principal — VLAN-aware
auto vmbr0
iface vmbr0 inet manual
bridge-ports <PHYSICAL_INTERFACE>
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
# IP Proxmox sur le VLAN management
auto vmbr0.<MGMT_VLAN_ID>
iface vmbr0.<MGMT_VLAN_ID> inet static
address <PROXMOX_IP>/24
gateway <GATEWAY_IP>
# IP Proxmox sur le VLAN lab (optionnel)
auto vmbr0.<LAB_VLAN_ID>
iface vmbr0.<LAB_VLAN_ID> inet static
address <PROXMOX_LAB_IP>/24
# Bridge DMZ — réseau isolé (pas de VLAN tagging)
auto vmbr1
iface vmbr1 inet static
address <PROXMOX_DMZ_IP>/24
bridge-ports none
bridge-stp off
bridge-fd 0

Appliquer sans reboot :

Terminal window
ifreload -a

Créer les tokens nécessaires pour les outils externes :

Terminal window
# Token Terraform — provisioning LXC
pveum user token add root@pam terraform --privsep=0
# Token Homepage / supervision (optionnel)
pveum user token add root@pam homepage --privsep=0

Télécharger un template Ubuntu 24.04 :

Terminal window
pveam update
pveam available | grep ubuntu
pveam download local ubuntu-24.04-standard_24.04-2_amd64.tar.zst

Le template est disponible dans local → CT Templates dans l’UI Proxmox.


Via l’UI Create CT, ou en ligne de commande :

Terminal window
pct create <CTID> local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst \
--hostname <HOSTNAME> \
--memory 1024 \
--cores 2 \
--rootfs local-lvm:20 \
--net0 name=eth0,bridge=vmbr0,tag=<VLAN_ID>,ip=<IP>/24,gw=<GATEWAY> \
--nameserver <DNS_IP> \
--searchdomain <YOUR_DOMAIN> \
--unprivileged 1 \
--features nesting=1,keyctl=1 \
--ssh-public-keys /root/.ssh/authorized_keys \
--start 1

Pour faire tourner Docker dans un LXC non-privilégié, nesting et keyctl sont obligatoires :

Terminal window
pct set <CTID> --features nesting=1,keyctl=1

Pour un lab avec plusieurs LXC, Terraform avec le provider bpg/proxmox est recommandé. Voir la page Terraform pour la procédure complète.


Pour ajouter Proxmox Backup Server comme storage :

Datacenter → Storage → Add → Proxmox Backup Server

ID : pbs
Server : <PBS_IP>
Datastore : <DATASTORE_NAME>
Username : root@pam
Fingerprint : <récupérer avec : ssh root@<PBS_IP> "proxmox-backup-manager cert info | grep Fingerprint">

Terminal window
# Lister les LXC
pct list
# Voir la config d'un LXC
pct config <CTID>
# Accéder à un LXC sans SSH
pct exec <CTID> -- bash
# Démarrer / arrêter
pct start <CTID>
pct stop <CTID>
# Snapshot avant intervention
pct snapshot <CTID> <SNAPSHOT_NAME>
# Restaurer un snapshot
pct rollback <CTID> <SNAPSHOT_NAME>
# Vérifier les bridges réseau
ip link show vmbr0
ip link show vmbr1
# Logs Proxmox
journalctl -u pvedaemon -f