
Vos VM n’ont pas de réseau ? Vous avez peur de vous couper l’accès en modifiant la config ? Ce guide vous donne les bases pour comprendre ce qui se passe, puis configurer en toute sécurité.
Trois situations, trois solutions :
- Homelab / plusieurs IP disponibles → Bridge simple (le défaut)
- Isoler prod/dev/DMZ → Bridge VLAN-aware
- VPS avec une seule IP publique → NAT
Concepts réseau indispensables
Section intitulée « Concepts réseau indispensables »Avant de toucher à quoi que ce soit, vous devez comprendre comment les paquets circulent. Sans ça, vous allez copier-coller des configs sans savoir ce que vous faites — et vous couper l’accès au premier problème.
L2 vs L3 : la distinction fondamentale
Section intitulée « L2 vs L3 : la distinction fondamentale »Le réseau fonctionne en couches. Deux nous concernent ici :
| Couche | Ce qu’elle gère | Identifiant | Équipement typique |
|---|---|---|---|
| L2 (liaison) | Transmission de trames entre machines du même réseau | Adresse MAC | Switch |
| L3 (réseau) | Routage de paquets entre réseaux différents | Adresse IP | Routeur |
Pourquoi c’est important ?
- Un bridge = switch logiciel = travaille en L2 (il regarde les MAC)
- Le NAT/routage = travaille en L3 (il regarde les IP)
- Un VLAN = étiquetage L2 (tag 802.1Q sur les trames)
Quand vous comprenez ça, le reste devient logique.
Les objets réseau dans Proxmox
Section intitulée « Les objets réseau dans Proxmox »Proxmox crée et manipule plusieurs types d’objets. Voici ce que vous verrez :
| Objet | Ce que c’est | Exemple |
|---|---|---|
| Interface physique | Votre carte réseau réelle | eno1, enp3s0, eth0 |
| Bridge | Switch virtuel (créé par Proxmox) | vmbr0, vmbr1 |
| vNIC | Carte réseau virtuelle d’une VM | net0 dans les paramètres VM |
| tap | Interface côté hôte connectée à une vNIC | tap100i0 (VM 100, interface 0) |
| bridge-ports | L’uplink du bridge vers le physique | bridge-ports eno1 |
Dans l’interface web : Nœud → System → Network pour voir tout ça.
Le chemin d’un paquet (bridge simple)
Section intitulée « Le chemin d’un paquet (bridge simple) »Quand une VM envoie un paquet vers Internet :
VM (eth0) → tap100i0 → vmbr0 → eno1 → switch physique → InternetLe bridge vmbr0 fonctionne comme un switch : il reçoit le paquet de la VM via tap100i0, regarde l’adresse MAC de destination, et le transmet vers eno1 (qui est connecté au réseau physique).
Le chemin d’un paquet (NAT)
Section intitulée « Le chemin d’un paquet (NAT) »En NAT, c’est différent — le paquet passe par le routage de l’hôte :
VM (eth0) → tap100i0 → vmbr0 → ip_forward → NAT (iptables) → eno1 → InternetL’hôte Proxmox remplace l’IP source de la VM par son IP publique avant d’envoyer. Quand la réponse arrive, il fait l’inverse.
Pourquoi l’IP est sur le bridge, pas sur l’interface physique
Section intitulée « Pourquoi l’IP est sur le bridge, pas sur l’interface physique »C’est le point de confusion chez les débutants.
Dans Proxmox, l’adresse IP du serveur est configurée sur le bridge (vmbr0), pas sur l’interface physique (eno1). Pourquoi ?
Parce que le bridge est le point central de communication. C’est lui qui “parle” au réseau. L’interface physique (eno1) sert juste de câble entre le bridge et le monde extérieur — elle n’a pas d’IP, elle est en mode manual.
# L'interface physique : pas d'IP, juste un câbleiface eno1 inet manual
# Le bridge : c'est lui qui a l'IPauto vmbr0iface vmbr0 inet static address 192.168.1.100/24 gateway 192.168.1.1 bridge-ports eno1Comment Proxmox applique les changements
Section intitulée « Comment Proxmox applique les changements »Proxmox utilise ifupdown2 pour gérer le réseau. C’est une version améliorée d’ifupdown qui permet d’appliquer les changements à chaud, sans reboot.
Le mécanisme de staging :
- Vous modifiez le réseau via l’interface web
- Proxmox écrit vos changements dans
/etc/network/interfaces.new(fichier temporaire) - Rien n’est appliqué tant que vous ne cliquez pas sur Apply Configuration
- Proxmox sauvegarde l’ancien fichier, puis exécute
ifreload -a
Pourquoi ifreload -a est important : c’est la commande clé d’ifupdown2. Elle applique les changements sans couper les connexions existantes (dans la plupart des cas). C’est ce qui permet de modifier le réseau sans reboot.
# Ce que fait "Apply Configuration" en coulissesifreload -aChoisir votre topologie
Section intitulée « Choisir votre topologie »Avant de configurer, choisissez la bonne approche selon votre situation.
| Situation | Configuration | Pourquoi |
|---|---|---|
| Homelab, plusieurs IP dispo | Bridge simple | C’est le défaut, ça marche tout seul |
| Entreprise, 1 IP par VM | Bridge simple | Chaque VM est directement joignable |
| Isoler prod/dev/DMZ | VLAN-aware | Un bridge, plusieurs réseaux isolés |
| VPS, 1 seule IP publique | NAT | Les VM sortent via l’IP de l’hôte |
| Lab sans switch managé | Bridge simple ou NAT | VLAN-aware inutile sans trunk |
Pattern A — Bridge simple (le défaut)
Section intitulée « Pattern A — Bridge simple (le défaut) »C’est la configuration par défaut après installation. Vos VM sont sur le même réseau que l’hôte Proxmox.
Configuration
Section intitulée « Configuration »Si vous avez installé Proxmox normalement, c’est déjà en place. Vérifiez :
auto loiface lo inet loopback
iface eno1 inet manual
auto vmbr0iface vmbr0 inet static address 192.168.1.100/24 gateway 192.168.1.1 bridge-ports eno1 bridge-stp off bridge-fd 0Points clés :
- L’IP est sur
vmbr0, pas sureno1 eno1est enmanual(pas d’IP)bridge-ports eno1connecte le bridge au physique
Créer un second bridge
Section intitulée « Créer un second bridge »Si vous avez une seconde carte réseau et voulez un bridge dédié :
-
Allez dans Nœud → System → Network
-
Cliquez Create → Linux Bridge
-
Renseignez :
- Name :
vmbr1 - Bridge ports :
eno2 - IPv4/CIDR : laissez vide si pas besoin d’IP
- Name :
-
Cliquez Apply Configuration
Vérification
Section intitulée « Vérification »# L'hôte a une IP sur vmbr0ip -br addr | grep vmbr0
# Le bridge est connecté à eno1bridge link show
# Une VM obtient une IP (DHCP ou statique)# Depuis la VM :ping 192.168.1.1 # passerelleping 8.8.8.8 # internetPièges courants
Section intitulée « Pièges courants »| Problème | Cause | Solution |
|---|---|---|
| VM pas d’IP DHCP | bridge-ports manquant | Vérifier la config du bridge |
| Perte d’accès après Apply | Mauvaise gateway ou IP | Console + restaurer backup |
Pattern B — Bridge VLAN-aware
Section intitulée « Pattern B — Bridge VLAN-aware »Un seul bridge gère plusieurs réseaux isolés via des tags VLAN (802.1Q).
Prérequis
Section intitulée « Prérequis »Votre switch physique doit être configuré en trunk (tagged) sur le port connecté à Proxmox :
interface GigabitEthernet0/1 switchport mode trunk switchport trunk allowed vlan 10,20,30Sans cette config côté switch, les tags seront ignorés.
Configuration
Section intitulée « Configuration »Pour activer le support VLAN sur un bridge existant :
-
Allez dans Nœud → System → Network
-
Sélectionnez
vmbr0et cliquez Edit -
Cochez VLAN aware
-
Dans Bridge VLAN IDs, listez les VLAN autorisés :
10 20 30 -
Cliquez OK puis Apply Configuration
Ou manuellement :
auto vmbr0iface vmbr0 inet static address 192.168.1.100/24 gateway 192.168.1.1 bridge-ports eno1 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 10 20 30Tagger une VM
Section intitulée « Tagger une VM »- Éditez la VM → Hardware → Network Device
- Dans VLAN Tag, entrez le numéro (ex:
10) - La VM est maintenant sur le VLAN 10
Vérification
Section intitulée « Vérification »# Voir les VLAN configurés sur le bridgebridge vlan show
# Depuis une VM sur VLAN 10ping <autre-machine-vlan-10> # doit marcherping <machine-vlan-20> # ne doit PAS marcher (isolation)Pièges courants
Section intitulée « Pièges courants »| Problème | Cause | Solution |
|---|---|---|
| VLAN tag ignoré | Switch pas en trunk | Configurer le port switch |
| VM isolée du réseau | Mauvais VLAN ID | Vérifier le tag dans la VM |
Pattern C — NAT (une seule IP publique)
Section intitulée « Pattern C — NAT (une seule IP publique) »Les VM ont des IP privées et sortent sur Internet via l’IP publique de l’hôte.
Configuration
Section intitulée « Configuration »auto loiface lo inet loopback
# Interface publiqueauto eno1iface eno1 inet static address 198.51.100.5/24 gateway 198.51.100.1
# Bridge privé pour les VMauto vmbr0iface vmbr0 inet static address 10.10.10.1/24 bridge-ports none bridge-stp off bridge-fd 0 post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADEPoints clés :
bridge-ports none: le bridge n’est pas connecté au physiqueMASQUERADE: remplace l’IP source des paquets sortants
Activer le routage (persistant)
Section intitulée « Activer le routage (persistant) »Le routage IP doit être activé pour que le NAT fonctionne. Ne pas utiliser echo 1 > /proc/... (perdu au reboot).
# Créer le fichier de config sysctlecho "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-ip-forward.conf
# Appliquer immédiatementsysctl -p /etc/sysctl.d/99-ip-forward.conf
# Vérifiercat /proc/sys/net/ipv4/ip_forward # doit afficher 1Configurer une VM
Section intitulée « Configurer une VM »- Associez la VM à
vmbr0 - Dans la VM, configurez :
- IP :
10.10.10.10/24 - Passerelle :
10.10.10.1 - DNS :
8.8.8.8
- IP :
Port forwarding
Section intitulée « Port forwarding »Pour rendre un service accessible depuis l’extérieur :
# Rediriger le port 80 public vers la VM 10.10.10.10iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 80 -j DNAT --to 10.10.10.10:80iptables -A FORWARD -p tcp -d 10.10.10.10 --dport 80 -j ACCEPTPour persister les règles iptables, utilisez iptables-persistent ou ajoutez-les dans /etc/network/interfaces avec post-up.
Vérification
Section intitulée « Vérification »# Sur l'hôte : vérifier le routagecat /proc/sys/net/ipv4/ip_forward # 1
# Sur l'hôte : vérifier les règles NATiptables -t nat -L -n -v | grep MASQUERADE
# Depuis la VMping 8.8.8.8 # internetcurl -s ifconfig.me # doit afficher l'IP publique de l'hôtePièges courants
Section intitulée « Pièges courants »| Problème | Cause | Solution |
|---|---|---|
| NAT cassé après reboot | ip_forward non persistant | Utiliser sysctl.d |
| VM ping OK, HTTP KO | Firewall bloque | Vérifier iptables -L |
| DNS ne marche pas | Pas de résolveur | Configurer DNS dans la VM |
Safe change checklist
Section intitulée « Safe change checklist »Modifier le réseau peut vous couper l’accès. Suivez cette procédure systématiquement.
Avant de modifier
Section intitulée « Avant de modifier »-
Vérifiez que vous avez un accès console
- IPMI/iLO/iDRAC (serveur physique)
- Console VNC (hébergeur)
- Accès physique clavier/écran
-
Sauvegardez la config actuelle
Fenêtre de terminal cp /etc/network/interfaces /etc/network/interfaces.backup-$(date +%Y%m%d-%H%M) -
Notez l’IP et la gateway actuelles
Fenêtre de terminal ip -br addrip route | grep default
Appliquer les changements
Section intitulée « Appliquer les changements »-
Faites vos modifications via l’interface web
-
Cliquez Apply Configuration
-
Regardez le Task log (en bas) — il doit se terminer par
TASK OK -
Immédiatement après, vérifiez :
Fenêtre de terminal # L'hôte répondping -c 2 <IP_PROXMOX># L'interface web est accessiblecurl -k https://<IP_PROXMOX>:8006
Si vous perdez l’accès
Section intitulée « Si vous perdez l’accès »-
Accédez via la console (IPMI, VNC, physique)
-
Listez les backups disponibles :
Fenêtre de terminal ls -la /etc/network/interfaces*Proxmox crée des backups avec timestamp lors de l’apply.
-
Restaurez le dernier backup fonctionnel :
Fenêtre de terminal cp /etc/network/interfaces.backup-YYYYMMDD-HHMM /etc/network/interfaces -
Réappliquez :
Fenêtre de terminal ifreload -a -
Vérifiez que l’accès est rétabli
Dépannage
Section intitulée « Dépannage »Les 6 problèmes les plus fréquents
Section intitulée « Les 6 problèmes les plus fréquents »| Symptôme | Cause probable | Solution |
|---|---|---|
| VM pas d’IP DHCP | bridge-ports manquant ou mauvais | Vérifier la config du bridge |
| Perte d’accès après Apply | Erreur gateway/IP | Console → restaurer backup |
| VLAN tag ignoré | Switch pas en trunk | Configurer le port switch |
| NAT ne marche pas | ip_forward désactivé | sysctl -p ou vérifier /proc/sys/net/ipv4/ip_forward |
| Ping OK mais HTTP KO | Firewall actif | iptables -L ou désactiver temporairement |
| Performance faible | MTU mismatch | Vérifier MTU de bout en bout |
Commandes de diagnostic
Section intitulée « Commandes de diagnostic »# État des interfacesip -br linkip -br addr
# Bridges et leurs portsbridge link show
# Table de routageip route
# Règles NATiptables -t nat -L -n -v
# Logs réseau récentsjournalctl -u networking --no-pager -n 30Bonnes pratiques
Section intitulée « Bonnes pratiques »Documentez votre configuration
Section intitulée « Documentez votre configuration »Gardez un schéma réseau à jour :
- Quels bridges existent
- Quelles interfaces physiques ils utilisent
- Quels VLAN sont configurés
- Quelles plages IP sont utilisées
Commentez vos fichiers
Section intitulée « Commentez vos fichiers »auto vmbr0iface vmbr0 inet static address 192.168.1.100/24 gateway 192.168.1.1 bridge-ports eno1 bridge-stp off bridge-fd 0 # LAN principal - VMs de production
auto vmbr1iface vmbr1 inet static address 10.0.0.1/24 bridge-ports eno2 # Réseau stockage - Ceph/NFS - MTU 9000 mtu 9000Testez en lab avant la prod
Section intitulée « Testez en lab avant la prod »- Faites vos modifications sur un environnement de test
- Testez pendant quelques jours
- Puis déployez en production
Annexes — Configurations avancées
Section intitulée « Annexes — Configurations avancées »Ces sections couvrent des cas avancés, pas nécessaires pour débuter.
MTU / Jumbo Frames
Section intitulée « MTU / Jumbo Frames »Pour du stockage réseau (Ceph, NFS, iSCSI), augmenter le MTU à 9000 améliore le débit.
Prérequis : tous les équipements du chemin doivent supporter le même MTU.
auto vmbr1iface vmbr1 inet static address 10.0.0.1/24 bridge-ports eno2 mtu 9000Test :
ping -M do -s 8972 10.0.0.2 # 8972 + 28 headers = 9000Bonding (agrégation de liens)
Section intitulée « Bonding (agrégation de liens) »Combiner plusieurs NIC pour le débit et/ou la redondance.
| Mode | Usage |
|---|---|
active-backup | Haute dispo, 1 lien actif |
802.3ad (LACP) | Débit + HA, config switch requise |
balance-alb | Équilibrage sans config switch |
auto bond0iface bond0 inet manual bond-slaves eno1 eno2 bond-miimon 100 bond-mode 802.3ad bond-xmit-hash-policy layer3+4
auto vmbr0iface vmbr0 inet static address 192.168.1.100/24 gateway 192.168.1.1 bridge-ports bond0Sous-interfaces VLAN (méthode legacy)
Section intitulée « Sous-interfaces VLAN (méthode legacy) »Si vous préférez un bridge par VLAN :
auto eno1.10iface eno1.10 inet manual
auto vmbr10iface vmbr10 inet static address 10.10.10.1/24 bridge-ports eno1.10Préférez VLAN-aware pour les nouvelles installations.
À retenir
Section intitulée « À retenir »-
Bridge = switch virtuel L2 — il regarde les MAC, pas les IP
-
L’IP est sur le bridge (
vmbr0), pas sur l’interface physique -
Trois patterns :
- Bridge simple : VM sur le même LAN que l’hôte
- VLAN-aware : un bridge, plusieurs réseaux isolés
- NAT : une IP publique, masquerading
-
Proxmox utilise ifupdown2 —
ifreload -aapplique à chaud -
Toujours avoir un accès console avant de modifier le réseau
-
NAT : utilisez sysctl.d pour persister ip_forward