Bridge carte reseau libvirt

Contexte

Par défaut, toutes les VM d'un système hôte qui utilise la virtualisation KVM via libvirt utilise une carte réseau virtuelle en mode NAT. Cette interface permet d'accéder au réseau LAN de la carte réseau physique mais via un autre réseau interne virtuel qui est caché du LAN de la carte physique. Ca permet typiquement l'accès à Internet. L'interface bridge virbr0 créée sur la machine hôte par libvirt sert aux interfaces NAT des VM.

Lorsqu'on souhaite pour une VM une interface sur le réseau de la machine hôte (LAN), il faut une interface en mode bridge.

Documentation

https://wiki.libvirt.org/page/Networking

Configuration

Ajouter l'appartenance au bridge qu'on va créer sur la carte réseau qui permet l'accès à Internet. /etc/sysconfig/network-scripts/ifcfg-eth0

BRIDGE=br0

Créer l'interface bridge br0 /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0

systemctl restart network && systemctl restart libvirtd

Vérifier la présence du bridge

brctl show

Redémarrer virt-manager, ajouter un nouveau matériel réseau à la VM selon les critères suivants :

source du réseau : pont br0: périphérique de l'hôte enp0s25. Le pont nouvellement créé sur l'hôte apparait dans la liste après sa création.

Modèle du périphérique : rtl8139

On peut procéder à la modification par la commande 'virsh edit <VM name>' Contenu une fois configuré

<interface type='network'>
<mac address='52:54:00:f2:da:e0'/>
<source network='default'/>
<model type='rtl8139'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='bridge'>
<mac address='52:54:00:0d:9a:4a'/>
<source bridge='br0'/>
<model type='rtl8139'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>

Il reste à configurer l'interface réseau de la VM guest en mode dhcp. Le service DHCP du routeur du réseau principal de l'hôte va distribuer une adresse à notre nouvelle carte réseau en mode bridge de la VM configurée.