Aller au contenu
Virtualisation medium

Bridge KVM sans NetworkManager (Debian/Ubuntu ifupdown)

5 min de lecture

Vous utilisez Debian ou Ubuntu serveur sans NetworkManager ? Cette recette vous montre comment créer un bridge avec ifupdown pour connecter vos VMs au LAN.

  • Debian 11+ ou Ubuntu Server 20.04+
  • Pas de NetworkManager (vérifier avec systemctl status NetworkManager)
  • Accès root
  • Accès console (IPMI, KVM physique) en cas de perte d’accès SSH
Fenêtre de terminal
# Interface physique et IP actuelle
ip addr show
# Nom de l'interface (ex: eno1, enp3s0, eth0)
ip -br link | grep -v lo

Notez :

  • Le nom de l’interface physique (ex: eno1)
  • L’IP actuelle (ex: 192.168.1.100/24)
  • La gateway (ex: 192.168.1.1)
Fenêtre de terminal
sudo cp /etc/network/interfaces /etc/network/interfaces.backup
  1. Installer bridge-utils (si pas déjà installé)

    Fenêtre de terminal
    sudo apt install bridge-utils
  2. Éditer /etc/network/interfaces

    Fenêtre de terminal
    sudo nano /etc/network/interfaces

    Remplacez la configuration existante par :

    /etc/network/interfaces
    # Loopback
    auto lo
    iface lo inet loopback
    # Interface physique : pas d'IP, esclave du bridge
    auto eno1
    iface eno1 inet manual
    # Bridge avec IP statique
    auto br0
    iface br0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 1.1.1.1
    bridge_ports eno1
    bridge_stp off
    bridge_fd 0
  3. Appliquer la configuration

    Fenêtre de terminal
    sudo systemctl restart networking

    Ou sur les anciennes versions :

    Fenêtre de terminal
    sudo ifdown eno1 && sudo ifup br0
  4. Vérifier

    Fenêtre de terminal
    # Le bridge a l'IP
    ip addr show br0
    # L'interface physique est dans le bridge
    bridge link show
    # Connectivité
    ping -c 2 192.168.1.1
    ping -c 2 1.1.1.1

Dans virt-install :

Fenêtre de terminal
virt-install --network bridge=br0 ...

Ou dans le XML de la VM :

<interface type='bridge'>
<source bridge='br0'/>
<model type='virtio'/>
</interface>

Si vous perdez l’accès, depuis la console :

Fenêtre de terminal
sudo cp /etc/network/interfaces.backup /etc/network/interfaces
sudo systemctl restart networking

Si vous voulez que le bridge soit sur un VLAN spécifique :

/etc/network/interfaces
auto eno1
iface eno1 inet manual
auto eno1.100
iface eno1.100 inet manual
vlan-raw-device eno1
auto br0
iface br0 inet static
address 192.168.100.10
netmask 255.255.255.0
gateway 192.168.100.1
bridge_ports eno1.100
bridge_stp off
bridge_fd 0

Pour isoler différents groupes de VMs :

/etc/network/interfaces
auto br0
iface br0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eno1
bridge_stp off
bridge_fd 0
auto br1
iface br1 inet static
address 10.0.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0

br1 est un bridge isolé (pas connecté au réseau physique), utile pour des labs internes.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.