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 tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn