Configuration des ponts réseau dans Debian 12 pour QEMU : temporaires et permanents
Les ponts réseau sous Linux permettent aux machines virtuelles de s'intégrer au réseau local en tant que nœuds à part entière. Contrairement au mode utilisateur de QEMU, le mode pont offre une interaction directe avec le réseau local physique. Des connaissances de base des couches OSI 1–3, et des différences entre commutateurs et routeurs, sont requises. Toutes les commandes sont exécutées en tant que root ou avec sudo.
Un pont agit comme un commutateur virtuel avec un nombre illimité de ports. Sans interfaces ajoutées, il n'y a qu'une interface virtuelle portant le même nom. L'ajout de ports (physiques ou tap) les intègre au commutateur : les adresses IP et MAC des interfaces individuelles sont ignorées.
Exemple : trois cartes réseau physiques + pont = quatre ports de commutateur, avec une IP gérée sur le pont.
Création temporaire d'un pont
Créer un pont nommé bridge0 :
ip link add bridge0 type bridge
ip link set dev bridge0 up
Vérifier l'état avec ip a. L'interface passe en UP lorsqu'un port actif est ajouté (carte réseau physique avec lien ou tap d'une VM).
Ajouter une interface, par ex. enp2s0 :
ip link set enp2s0 master bridge0
Pour supprimer : ip link set enp2s0 nomaster. Fonctionne avec Wi-Fi et une seule carte réseau — l'hôte utilise le pont avec une nouvelle adresse MAC.
Le réseau sera interrompu après l'ajout. Obtenir une IP :
- DHCP :
dhclient -v bridge0 - Statique :
ip a add 172.16.5.2/24 dev bridge0 && ip route add default via 172.16.5.1 dev bridge0
Une VM en mode pont obtiendra une IP du réseau de l'hôte.
Pour supprimer : ip link delete bridge0. Les interfaces reviennent à leur état initial. Le pont disparaît au redémarrage.
Configuration permanente via /etc/network/interfaces
Pour la persistance, éditer /etc/network/interfaces ou un fichier dans /etc/network/interfaces.d/.
Exemple de base pour virtbr0 (IP statique, pas de ports par défaut) :
auto virtbr0
iface virtbr0 inet static
address 10.15.15.1
netmask 255.255.255.0
bridge_fd 0
bridge_maxwait 0
bridge_ports none
bridge_hello 2
bridge_maxage 20
bridge_stp off
Paramètres clés :
auto/iface: démarrage automatique.inet static/dhcp/manual: type d'IP (manual — pas d'IP, ajouter manuellement).bridge_ports none: pont vide ; QEMU ajoute le tap dynamiquement. Ou spécifier enp2s0 etc.bridge_fd 0,bridge_maxwait 0: délais d'activation (0 pour les cas simples).bridge_hello 2,bridge_maxage 20: BPDU pour STP.bridge_stp off: désactiver Spanning Tree (pour VMs de test).bridge_hw MAC: définir l'adresse MAC du pont ou la copier depuis une interface.
Pour une carte réseau physique dans le pont, la changer en manual (supprimer dhcp).
Activer : systemctl restart networking.service. Un pont existant ne se supprime pas automatiquement — utiliser ip link delete ou redémarrer. Surveiller avec ip a.
Intégration avec QEMU
Lancer une VM avec pont :
-net nic,model=e1000e,macaddr=52:54:00:a9:2b:c7 -net bridge,br=bridge0
Décomposition :
-net nic,...: émule la carte réseau dans l'OS invité (e1000e — Intel gigabit ; MAC unique pour multi-VM).-net bridge,br=bridge0: crée un tap sur l'hôte, l'ajoute au pont, connecte avec un cordon de patch.
L'adresse MAC du tap est ignorée dans le pont. Sans br=bridge0, la VM ne démarre pas.
Points clés
- Ponts de bridge-utils (apt install) — dynamiques ; networking — persistants.
- État UP seulement avec ports actifs ;
ip apour diagnostics. - Wi-Fi/une seule carte réseau : pris en charge, l'hôte fonctionne via le pont.
- STP désactivé pour simplicité ; hello/maxage — valeurs par défaut.
- Tap QEMU ajouté automatiquement ; MACs uniques dans les VMs.
— Editorial Team
Aucun commentaire pour le moment.