Fixer des IP avec virsh

 

Virsh

Il y a quelques temps, j’ai pris le parti de ne plus utiliser virtualbox, ou VMware; pourtant ils sont très agréable à utiliser , très facile , et on les retrouve assez régulièrement un peu partout.

Je souhaitais un hyper viseur full open-source et natiif , et je me suis tourné vers KVM, qui dispose lui aussi d’une interface graphique répondant au nom de virt-manager.

Plutot rustique , mais tout y est, néanmoins pour pour une gestion plus fine , il existe un utilitaire virsh, de la librairie libvirt.

Voici les viersions de l’article:

  • Debian Buster 4.19.0-10-amd64
  • kvm --version QEMU emulator version 3.1.0 (Debian 1:3.1+dfsg-8+deb10u8) Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers
  • virt-manager --version2.0.0
  • virsh --version5.0.0

Guide de survie réseau

De base vous disposez d’un réseau bridgé naté .Qui fait très bien l’affaire, mais comment:

  • modifier son réseau
  • définir une plage DHCP
  • fixer des adresses

Je ne vais pas détailler toutes les commandes ici, vous disposez du man-page , ainsi que le site de libvirt.

Lister les réseaux

  • sudo virsh net-list --all
sudo virsh net-list --all
 Name           State    Autostart   Persistent
-------------------------------------------------
 computerclub   active   yes         yes
 default        active   yes         yes

Créer un nouveau réseau

Nous allons simplement dumper la configuration par défaut:

  • sudo virsh net-dumpxml default > exemple1.xml
<network>
  <name>default</name>
  <uuid>48155b51-d2a5-4d32-a953-86ca4a1bc921</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:28:d8:81'/>
  <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>

“Il suffit de modifier” le fichier à votre convenance en vous référant (à la partie réseaux de libvirt.org)[https://libvirt.org/formatnetwork.html#elementsAddress]

Voici mon fichier de configuration , a ne pas utiliser dans l’état , si vous inspectez la config , vous constaterez que j’ai crée une nouvelle interface virtuelle, qui est bridgée sur ma carte wifi.

<network>
  <name>computerclub</name>
  <uuid>a7db4f85-5560-488c-a888-e2f16f86a148</uuid>
  <forward dev='wlp2s0' mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
    <interface dev='wlp2s0'/>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:93:c7:8a'/>
  <domain name='computerclub.local'/>
  <ip address='192.168.200.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.200.100' end='192.168.200.254'/>
      <host mac='52:54:00:2f:46:ce' name='srv-deb-cham-001' ip='192.168.200.2'/>
      <host mac='52:54:00:9d:17:f5' name='DES-DEB-CHAM-001' ip='192.168.200.10'/>
      <host mac='52:54:00:92:d4:7b' name='DES-OSX-HOUC-001' ip='192.168.200.30'/>
      <host mac='52:54:00:a3:0b:38' name='linuxFX' ip='192.168.200.40'/>
      <host mac='52:54:00:81:ba:67' name='LAP-WIN-SERV-001' ip='192.168.200.50'/>
    </dhcp>
  </ip>
</network>

ATTENTION

  • Un détail n’apparait pas ici , lors de la création de ce fichier et de son injection , il faut sauter une ligne aprés le dernier hôte configurer.
# virsh net-destroy computerclub
Network computerclub destroyed

# virsh net-undefine computerclub
Network computerclub has been undefined

# virsh net-create /home/ordinatous/computerclub.xml
Network computerclub created from /home/ordinatous/computerclub.xml

# virsh net-autostart computerclub
error: failed to mark network computerclub as autostarted
error: Requested operation is not valid: cannot set autostart for transient network

ATTENTION

  • Comme mentionnée plus haut , n’oubliez d’ajouter une ligne vide, sous la dernière adresse.
root@gally-reborn:/home/ordinatous# virsh net-edit computerclub
Network computerclub XML configuration edited.

root@gally-reborn:/home/ordinatous# virsh net-autostart computerclub
Network computerclub marked as autostarted


Modification à la volée

Il serait possible d’ajouter un hôte , et son adresse fixe dans le réseau créé avec cette commande:



  • virsh error: network_update_xml:1: attributes construct error