ProxmoxVE (PVE°
Mise à jour : 2026-10-19 | Non relu
Proxmox VE (Virtual Environment) est une plateforme de virtualisation open source. Installée sur un serveur, elle permet d'héberger plusieurs machines virtuelles (VM) et conteneurs, administrés depuis une interface web. C'est un hyperviseur de type 1 (il tourne au plus près du matériel), basé sur Debian.
Deux formes de virtualisation
- VM (KVM/QEMU) : une machine complète avec son propre noyau. Isole totalement, fait tourner n'importe quel système (Linux, Windows...). Plus lourde.
- Conteneur (LXC) : partage le noyau de l'hôte, ne fait tourner que du Linux. Très léger et rapide, mais moins isolé.
Cette note se concentre sur l'installation de l'hôte et la création de VM, l'usage le plus courant pour un serveur d'infrastructure.
Versions visées
- Proxmox VE 9.x, basé sur Debian 13 (Trixie)
- Proxmox VE 8.x correspondait à Debian 12 (Bookworm)
Installer Proxmox VE
Deux approches :
- L'image ISO officielle : la plus simple, à graver sur une clé USB. Elle installe Debian et Proxmox en une fois. À privilégier si vous contrôlez la machine physiquement.
- Par-dessus une Debian existante : l'approche habituelle sur un serveur dédié loué, livré avec Debian. C'est celle détaillée ici.
Sur une Debian 13 existante
1) Vérifier le fichier /etc/hosts. Proxmox exige que le nom de la machine résolve vers son adresse IP, pas vers 127.0.1.1. Éditez /etc/hosts pour avoir une ligne du type :
(remplacez par l'adresse IP réelle et le nom de votre serveur)
2) Ajouter le dépôt Proxmox au format moderne deb822, dans /etc/apt/sources.list.d/proxmox.sources :
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Puis la clé de signature du dépôt :
wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg \
-O /usr/share/keyrings/proxmox-archive-keyring.gpg
3) Installer le noyau Proxmox, puis les paquets :
Après le redémarrage sur le nouveau noyau :
4) Accéder à l'interface web : https://adresse-ip:8006. Acceptez l'avertissement de certificat (il est auto-signé au départ) et connectez-vous avec l'utilisateur root et son mot de passe système.
Le dépôt : l'erreur n°1 des débutants
Une installation par ISO active par défaut le dépôt enterprise, qui exige un abonnement payant. Sans lui, apt update échoue avec une erreur 401 Unauthorized. Proxmox est pourtant gratuit en production : il faut juste utiliser le dépôt no-subscription, qui reçoit les mêmes paquets après une période de test un peu plus longue.
Sur une installation par ISO, désactivez l'enterprise et ajoutez le no-subscription depuis l'interface web (Datacenter > nœud > Updates > Repositories), ou en ligne de commande :
# Désactiver le dépôt enterprise (ajouter "Enabled: false" au fichier)
echo "Enabled: false" >> /etc/apt/sources.list.d/pve-enterprise.sources
# Puis créer le fichier proxmox.sources montré ci-dessus
N'activez jamais les deux dépôts en même temps. Une fenêtre vous signalera l'absence d'abonnement à chaque connexion : c'est sans conséquence, vous pouvez la fermer.
Configurer le réseau
C'est le cœur d'une infrastructure Proxmox. Le principe que j'applique : une seule machine exposée, des VM dans un réseau privé.
Le modèle : deux ponts (bridges)
Un pont (bridge) est un commutateur réseau virtuel auquel on raccorde les VM.
vmbr0: le pont public, relié à la carte réseau physique. Il porte l'adresse IP publique du serveur. Seules les VM qui doivent être joignables depuis Internet y sont raccordées.vmbr1: un pont privé, sans accès direct à l'extérieur. Les VM y reçoivent des adresses d'un réseau interne (ex.10.0.0.0/24), et l'hôte leur fournit l'accès à Internet par NAT (traduction d'adresses). C'est là que tournent la plupart des VM.
Analogie : vmbr0 est la rue, avec une adresse visible de tous. vmbr1 est une cour intérieure privée : on y circule librement entre voisins, et pour sortir en ville, tout le monde passe par le même portail (le NAT de l'hôte).
Exemple de configuration
Dans /etc/network/interfaces (adaptez les adresses et le nom de la carte physique, visible avec ip a) :
auto lo
iface lo inet loopback
# Carte physique, sans configuration directe
iface enp0s31f6 inet manual
# Pont public : porte l'IP publique du serveur
auto vmbr0
iface vmbr0 inet static
address 192.0.2.10/24
gateway 192.0.2.254
bridge-ports enp0s31f6
bridge-stp off
bridge-fd 0
# Pont privé NATé pour les VM internes
auto vmbr1
iface vmbr1 inet static
address 10.0.0.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
Pour que le NAT fonctionne, activez le routage dans le noyau :
Tester le réseau sans se couper l'accès
Une erreur dans /etc/network/interfaces sur un serveur distant peut vous déconnecter définitivement. Avant d'appliquer, gardez une console de secours ouverte (KVM/IPMI de l'hébergeur), et vérifiez deux fois la passerelle et l'adresse. Sur un serveur loué, l'adresse de passerelle et le masque sont fournis par l'hébergeur et ne s'inventent pas.
Convention pour les VM internes
Une astuce qui simplifie l'administration : donner à chaque VM l'adresse 10.0.0.X où X est son identifiant Proxmox (son "VM ID"). La VM 104 a l'adresse 10.0.0.104. On retrouve ainsi instantanément une machine d'après son numéro.
Durcir l'hôte
L'hyperviseur est la machine la plus critique : s'il tombe ou est compromis, toutes les VM le sont avec lui.
Accès SSH
Créez un compte nominatif par administrateur, interdisez la connexion root par SSH, et n'autorisez que les membres d'un groupe dédié.
Dans /etc/ssh/sshd_config :
Gardez une session ouverte en changeant la config SSH
Avant de redémarrer SSH, ouvrez une deuxième session et vérifiez que vous pouvez vous connecter avec le nouveau compte. Sinon, une erreur (groupe oublié, clé absente) vous enferme dehors. Le PermitRootLogin no ne doit être appliqué qu'une fois votre compte nominatif testé.
Accès d'administration par VPN
Idéalement, l'interface web (port 8006) et SSH ne sont pas exposés sur Internet. On les atteint à travers un VPN (WireGuard, NetBird, Tailscale...). Le serveur n'expose alors publiquement que les ports des services réellement destinés au public (80, 443...), plus un accès d'urgence documenté.
Réglages système utiles
# Fuseau horaire
timedatectl set-timezone Europe/Paris
# Limiter l'usage de la swap (préférer la RAM, plus rapide)
echo "vm.swappiness=10" > /etc/sysctl.d/99-swappiness.conf
sysctl --system
Si vous utilisez ZFS, deux réglages courants sur le pool de données :
zfs set compression=lz4 nom_du_pool # compression légère, quasi gratuite
zfs set atime=off nom_du_pool # ne pas écrire la date de dernier accès
ZFS et la mémoire
ZFS utilise beaucoup de RAM pour son cache (ARC). Sur une machine chargée, pensez à limiter cet usage, sinon ZFS peut entrer en concurrence avec vos VM pour la mémoire. Le réglage se fait via le paramètre zfs_arc_max du module noyau.
Créer une VM : configuration type
Depuis l'interface web, bouton Create VM. Voici les choix que j'applique pour une VM Linux d'infrastructure.
Réglages de création
- VM ID : le numéro qui identifie la VM (et qui donnera son adresse
10.0.0.X). - Réseau : raccordez la carte au pont
vmbr1(privé) par défaut. Seules les VM à exposer vont survmbr0. - Disque : activez Discard (libère sur le stockage l'espace effacé dans la VM), SSD emulation et IO thread si le stockage le permet. Pour
Cache,No cacheest le choix sûr, surtout avec ZFS (évite un double cache en mémoire). - Mémoire : pour une VM critique, désactivez le ballooning et allouez la RAM de façon fixe. Les performances sont stables et le comportement plus simple à diagnostiquer.
- Partitionnement (dans l'installeur de la VM) : utilisez LVM, qui permet d'agrandir facilement les volumes plus tard.
Configuration réseau dans la VM
Une fois la VM installée, configurez son réseau sur le pont privé. Exemple pour la VM 104, dans /etc/network/interfaces de la VM :
auto lo
iface lo inet loopback
allow-hotplug ens18
iface ens18 inet static
address 10.0.0.104/24
gateway 10.0.0.1 # l'adresse de l'hôte sur vmbr1
Le DNS se configure dans /etc/resolv.conf de la VM (ou via son gestionnaire réseau).
QEMU Guest Agent
Installez l'agent invité dans chaque VM : il permet à Proxmox d'arrêter proprement la VM, de connaître son adresse IP, et surtout de geler le système de fichiers au moment des sauvegardes, pour une image cohérente.
Puis, dans Proxmox : VM > Options > QEMU Guest Agent > Enabled.
Le pare-feu Proxmox
Proxmox intègre un pare-feu à trois niveaux : Datacenter (tout le cluster), Node (l'hôte) et VM. Une règle n'est active que si le pare-feu est activé au niveau concerné.
Le service pare-feu doit tourner
Cocher les options dans l'interface ne suffit pas : le service doit être actif.
Principe recommandé
- Entrée (Input) : politique
DROPpar défaut (on bloque tout, on ouvre au cas par cas). - Sortie (Output) : politique
ACCEPT(on contrôle ce qui entre, pas ce qui sort).
Ce réglage se fait dans Datacenter > Firewall > Options, puis au niveau du nœud.
Les Security Groups : à privilégier
Plutôt que de recopier les mêmes règles partout, définissez des Security Groups une fois au niveau Datacenter, puis attachez-les aux nœuds ou aux VM. Modifier le groupe met à jour toutes les machines qui l'utilisent. Exemples de groupes que l'on crée souvent :
- un groupe "administration" : SSH et interface web, autorisés uniquement depuis la plage du VPN;
- un groupe "web public" : ports 80 et 443 ouverts à tous, pour les VM exposées;
- un groupe "ping" : ICMP autorisé pour le diagnostic.
Firewall de VM sur un pont privé : un piège
Activer le pare-feu Proxmox sur la carte réseau d'une VM du pont privé crée des interfaces intermédiaires (fwbr, fwln, fwpr) qui modifient le chemin réseau et peuvent couper l'accès Internet de la VM, malgré une configuration correcte. Sur les VM internes (vmbr1), je laisse le pare-feu de la carte désactivé : la protection est déjà assurée en amont (pare-feu de l'hébergeur, du Datacenter et du nœud, isolation du réseau privé). Je n'active le pare-feu de VM que sur les machines exposées (vmbr0).
Sauvegarder
Deux approches, complémentaires :
- Sauvegardes intégrées (
Datacenter > Backup) : Proxmox peut planifier des sauvegardes complètes des VM vers un stockage local ou distant (NFS...). Simple à mettre en place. - Proxmox Backup Server (PBS) : un serveur dédié qui offre des sauvegardes chiffrées, dédupliquées et incrémentales, avec une politique de rétention fine. C'est la solution recommandée dès qu'on a plusieurs VM : seuls les blocs modifiés sont transférés, et l'historique tient dans peu d'espace.
Dans les deux cas, le QEMU Guest Agent (voir plus haut) garantit des sauvegardes cohérentes. Et quelle que soit la méthode, appliquez la règle 3-2-1 : au moins 3 copies, sur 2 supports, dont 1 hors site.
Une sauvegarde se teste
Une sauvegarde jamais restaurée n'est pas une sauvegarde. Testez une restauration au moins une fois (sur une VM jetable), et notez la procédure, en particulier pour les sauvegardes chiffrées : sans la clé de chiffrement, elles sont irrécupérables. Sauvegardez cette clé séparément.
Mettre à jour
full-upgrade, jamais upgrade
Sur Proxmox, utilisez toujours apt full-upgrade (ou apt dist-upgrade), jamais apt upgrade. Proxmox a besoin de gérer les changements de dépendances entre ses paquets, ce que apt upgrade ne fait pas : un simple upgrade peut laisser le système dans un état incohérent.
Mise à jour courante (routine mensuelle, et sans attendre en cas de faille critique) :
Redémarrez si le noyau a été mis à jour, puis vérifiez que les VM redémarrent et que le pare-feu est actif (systemctl status pve-firewall).
Avant toute mise à jour : vérifiez que les sauvegardes récentes des VM sont en succès, et planifiez une fenêtre d'intervention (un redémarrage de l'hôte arrête toutes les VM).
Montée de version majeure (ex. 8 vers 9) : suivez impérativement le guide officiel de migration. Proxmox fournit un outil de vérification (pve8to9) qui signale les points bloquants avant de se lancer. Sauvegarde complète obligatoire au préalable.
Diagnostic
pveversion -v # versions de Proxmox et du noyau
qm list # lister les VM et leur état
qm config 104 # configuration de la VM 104
qm start 104 / qm stop 104 # démarrer / arrêter une VM
systemctl status pve-firewall # état du pare-feu
systemctl status pvedaemon # service principal de Proxmox
journalctl -u pvedaemon -n 50 # journaux du service
Problèmes fréquents :
apt updaterenvoie 401 : le dépôt enterprise est encore actif (voir l'encadré sur les dépôts).- Une VM de
vmbr1n'a plus d'accès Internet : vérifiez d'abord que le pare-feu Proxmox n'a pas été activé sur sa carte réseau, puis le NAT (iptables -t nat -L POSTROUTING) etnet.ipv4.ip_forward. - Une VM ne s'arrête pas proprement : le QEMU Guest Agent est absent ou désactivé dans les options.