volted.net

A blog about openSUSE and free thoughts

Gérer les machines virtuelles distantes avec GNOME Boxes

November 30, 2018 — sogal

Bien que j'utilise habituellement plutôt virt-manager pour gérer les machines virtuelles locales et distantes, j'ai voulu redonner sa chance à GNOME Boxes (paquet gnome-boxes) sur mon portable perso. L'idée est juste de pouvoir gérer et me connecter aux machines virtuelles qui sont hébergées sur mon serveur à la maison.

Comment se connecter à distance ?

Pour expliquer tout cela, je vais prendre comme exemple la configuration suivante :

  • le serveur gérant les machines (hyperviseur) se nomme my_server, son IP est 192.168.1.250 et il utilise qemu + kvm ;
  • la connexion se fait via SSH, sur le port 10001 avec l'utilisateur henry, celui-ci doit appartenir au groupe libvirt pour avoir les droits nécessaires à l'interaction avec le démon libvirtd et donc les machines virtuelles ;
  • je pars du principe que la connexion SSH est déjà configurée entre le client et le serveur, ce n'est pas l'objet de cet article.

Il faut donc ouvrir Boxes, puis choisir « Nouveau », « Saisir une URL ». Cette dernière sera, au regard de notre configuration d'exemple :

qemu+ssh://henry@my_server:10001/system

boxes_1

La connexion devrait s'établir après validation et les miniatures des machines virtuelles apparaître.

Autoriser la connexion à Spice

Par défaut, le serveur Spice (qui permet, entre autres, de partager l'affichage) n'écoute que sur l'interface de loopback du serveur (IP 127.0.0.1). Vous ne pouvez donc pas vous y connecter, si vous essayez Boxes renverra une erreur.

Il faut donc configurer le serveur Spice, sur l'hyperviseur, pour qu'il écoute sur une adresse réseau accessible.

Pour cela éditez, en root et sur my_server, le fichier /etc/libvirt/qemu.conf et chercher la ligne :

#spice_listen = "0.0.0.0"

Décommentez-la pour que Spice écoute sur toutes les interfaces réseaux disponibles ou spécifiez l'adresse IP d'une interface (ici celle de notre hyperviseur) :

spice_listen = "192.168.1.250"

Enregistrez et relancez le démon libvirtd :

systemctl stop libvirtd
systemctl start libvirtd

En cliquant sur une miniature, la VM devrait s'afficher correctement.

boxes_2

Configurer le pare-feu

Si vous utilisez un pare-feu sur votre serveur, il faudra penser à ouvrir les ports correspondants.

Spice écoute sur le port 5900 par défaut et ouvre autant de ports que nécessaire (si vous voulez afficher plusieurs machines virtuelles) : 5901, 5902, etc. Il faut donc prévoir, dans la configuration de votre pare-feu, l'accès à autant de ports que nécessaire.

Sur mon serveur tournant sur CentOS et avec 4 machines virtuelles, cela donne :

firewall-cmd --add-port=590{0,1,2,3}/tcp --permanent
firewall-cmd --reload

Tags: gnome, server