virt KVM 8

references

Network brige

par defautl il y a un switch virtuel (bridge virtbr0) qui fit du NAT avec les VM , elles se voient entre elles mais apparaisent avec l'IP de l'Hote et non sont pas directement accessible de l'exterieur (NAT)

ici on souhaite associer un nouveau bridge où nos VM auront leur propore IP directement attaché a l'interface Ethernet de l'hote .

cf https://www.techotopia.com/index.php/Creating_a_RHEL_KVM_Networked_Bridge_Interface

default bridge NAT

[root@localhost ~]# virsh net-list --all
 Nom       État    Démarrage automatique   Persistent
-------------------------------------------------------
 default   actif   Oui                     Oui

[root@localhost ~]# virsh net-dumpxml default
<network connections='1'>
  <name>default</name>
  <uuid>dacd1fb3-7bda-4f2f-afd6-ce27d112e453</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:39:e6:60'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>



[root@localhost ~]# nmcli con show
NAME                                UUID                                  TYPE      DEVICE 
eno2                                e80109d2-4b12-4e5a-b331-6ab602f0ed9d  ethernet  eno2   
tun0                                4047e6a5-1927-41ab-b384-95b822b2c079  tun       tun0   
virbr0                              1d44c04e-9d67-4f68-ba2c-0983cca8beb6  bridge    virbr0 

ajout bridge

on ajout un autre bridge sur notre interface ethernet physique (ici eno2) et affichage des fichiers txt créés a l'occasion (pour voir ce qui est fait en background)

[root@localhost ~]# nmcli con add ifname br0 type bridge con-name br0
Connexion « br0 » (d997c203-8b07-4f8c-820b-cc60f45968ee) ajoutée avec succès.
[root@localhost ~]# ls -ltr /etc/sysconfig/network-scripts/ | tail -1 
-rw-r--r--  1 root root 311  3 sept. 16:49 ifcfg-br0
[root@localhost ~]# nmcli con add type bridge-slave ifname eno2 master br0
Connexion « bridge-slave-eno2 » (8c9f5da5-4664-40ae-9afc-3fed2b7d1db4) ajoutée avec succès.
[root@localhost ~]# ls -ltr /etc/sysconfig/network-scripts/ | tail -1 
-rw-r--r--  1 root root 113  3 sept. 16:50 ifcfg-bridge-slave-eno2
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-bridge-slave-eno2
TYPE=Ethernet
NAME=bridge-slave-eno2
UUID=8c9f5da5-4664-40ae-9afc-3fed2b7d1db4
DEVICE=eno2
ONBOOT=yes
BRIDGE=br0

puis ajout de ce bridge dans l'environement libvirt/KVM via un fichier xml

[root@localhost ~]# cat /root/kvm-bridge-br0.xml
<network>
  <name>br0</name>
  <forward mode="bridge"/>
  <bridge name="br0" />
</network>

integration

[root@localhost ~]# virsh net-define /root/kvm-bridge-br0.xml
Réseau br0 défini depuis /root/kvm-bridge-br0.xml

demarrage

[root@localhost ~]# virsh net-start br0
Réseau br0 démarré

et autostart

[root@localhost ~]# virsh net-autostart br0
Réseau br0 marqué en démarrage automatique

list des reseaux libvirt

 [root@localhost ~]# virsh net-list --all
 Nom       État    Démarrage automatique   Persistent
-------------------------------------------------------
 br0       actif   Oui                     Oui
 default   actif   Oui                     Oui

au final tout doit etre au vert, eventullement redemarer libvirt, NetworkManager

[root@localhost ~]#  nmcli con show --active
NAME               UUID                                  TYPE      DEVICE 
br0                d997c203-8b07-4f8c-820b-cc60f45968ee  bridge    br0    
virbr0             62d802a0-b046-40ad-9d40-b48183ff76d8  bridge    virbr0 
bridge-slave-eno2  8c9f5da5-4664-40ae-9afc-3fed2b7d1db4  ethernet  eno2   
vnet0              4ff25561-bc3b-4d86-a5e8-0062b5e7911c  tun       vnet0 

 [root@localhost ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.3448ed33418e	yes		eno2
							vnet0
virbr0		8000.52540039e660	yes		virbr0-nic