Linux things 🐧

un blog sur les technologies des logiciels libres et autres digressions


Machines

Sun, 21 Jan 2024 15:38:55 +0100
# linux   # app  

Machines est une application GNOME qui permet de créer des machines virtuelles, elle est aussi connu sous le nom de Boxes.
TrĂšs basique elle met en place un rĂ©seau NATĂ© pour permettre Ă  la VM de sortir sur Internet, cependant il n’est pas possible de s’y connecter depuis le host, en ssh per exemple.
Voici la mĂ©thode que j’ai utilisĂ© sur Manjaro pour mettre en place une interface bridge et l’utiliser dans les VMs de Machines, cela doit ĂȘtre plus ou moins pareil avec d’autres distributions.

  • Tout d’abord il faut installer le paquet virt-manager
    sudo pacman -S virt-manager

  • Ensuite lancer le service libvirtd
    sudo systemctl start libvirtd

  • Puis lancer virt-manager et Ă©diter la connexion QEMU/KVM (clic droit puis dĂ©tails)

  • cocher DĂ©marrage automatique [] au dĂ©marrage

  • cliquer sur le bouton play en bas pour activer l’interface

  • Quitter virt-manager puis vĂ©rifier qu’il y a bien dans ce fichier /etc/qemu/bridge.conf :
    allow virbr0

  • Ensuite dans un terminal il faut lister les VMs et Ă©diter pour chacune leur fichier de configuration avec virsh

virsh -c qemu:///session list --all
 ID   Nom               État
----------------------------------------------
 3    boxes-unknown-2   en cours d’exĂ©cution
 -    archlinux         fermé
 -    boxes-unknown     fermé
 -    haikur1beta4      fermé
 -    ubuntu23.10       fermé

virsh edit ubuntu23.10

chercher avec l’Ă©diteur de texte interface et remplacer user par bridge puis ajouter <source bridge='virbr0'/>
Exemple :

    <interface type='bridge'>
      <mac address='52:54:00:59:d2:52'/>
      <source bridge='virbr0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
  • Sortir de l’Ă©diteur puis lancer la VM modifiĂ©e dans Machines, elle devrait avoir maintenant une IP de votre rĂ©seau local. Si cela fonctionne pas vĂ©rifier qu’il y a bien une interface virbr0 dans un terminal sur le host et si non tenter un reboot
ip a|grep -i virbr0
64: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
66: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master virbr0 state UNKNOWN group default qlen 1000

(Ce texte a été écrit avec Ghostwriter)