Êtes-vous intéressé par la virtualisation des machines Linux? Alors, installation de KVM (Machine virtuelle basée sur le noyau) vous sera certainement utile. Ce guide rapide et concis en 2026 vous fournira des instructions sur la méthode la plus simple d'installation KVM sans aucun déplacement supplémentaire ni perte de temps. Que vous soyez développeur de logiciels, administrateur, ou simplement une personne intéressée par la virtualisation, ce guide vous aidera à franchir facilement toutes les étapes et à mener à bien la tâche.

Comment installer KVM?
Il est également possible de n'avoir que QEMU et KVM pour une installation ultra-minimale, mais pour la plupart des gens, le besoin de libvirt est impératif pour configurer et gérer les processus de virtualisation (système-démon-libvirt – libvirt, virt-manager – outil GUI pour libvirt). Un processus d'installation typique impliquerait l'installation des éléments suivants:
$ sudo apt install qemu-system libvirt-daemon-system
Si vous utilisez un serveur pour votre installation, alors vous devriez utiliser le –no-install-recommande l'indicateur apt lors de l'installation afin qu'aucun logiciel graphique inutile ne soit installé pendant le processus d'installation.
$ sudo apt install --no-install-recommends qemu-system libvirt-clients libvirt-daemon-system
Hébergement Web WordPress
À partir de 3,99 $/mois
Ce démon sera automatiquement démarré au démarrage du système, et il chargera également automatiquement les modules KVM nécessaires, les modules kvm-amd ou kvm-intel, qui sont disponibles avec le noyau Debian Linux. Pour travailler avec des machines virtuelles via l'interface de ligne de commande, vous devez installer Virtinst.
Pour contrôler les machines virtuelles avec un compte utilisateur régulier, l'utilisateur doit appartenir au groupe libvirt:
# adduser <youruser> libvirt
Ensuite, vous devez être en mesure de lister vos domaines – c'est-à-dire, machines virtuelles sous gestion libvirt:
# virsh list --all
VM utilisateur et système
Typiquement, si virsh est lancé en tant qu'utilisateur ordinaire, il utilise le qemu:///chaîne URI de session pour établir une connexion avec libvirt. De cette façon, seules les machines virtuelles associées à l'utilisateur exécutant virsh peuvent être contrôlées. Afin de gérer les machines virtuelles du système (les machines virtuelles appartenant à root) nous devons soit lancer virsh en tant que root, soit spécifier le qemu:///URI système pour notre connexion:
Serveur VPS pas cher
À partir de 2,99 $/mois
$ virsh --connect qemu:///system list --all
Alternativement, au lieu de spécifier l'URI à chaque fois que l'on veut lancer une commande virsh, il peut être défini dans la variable d'environnement LIBVIRT_DEFAULT_URI:
$ export LIBVIRT_DEFAULT_URI='qemu:///system'
Création d'invités
L'une des méthodes les plus simples pour créer et contrôler un invité de VM consiste à utiliser un outil GUI.. Par exemple:
- AQEMU Aqemu
- Gestionnaire de machines virtuelles virt-manager
D'autre part, on peut choisir de créer un invité à partir de l'interface de ligne de commande en utilisant virt-install. Ce qui suit est un exemple de création d'un invité Bookworm appelé « rat de bibliothèque-amd64 »:
virt-install --virt-type kvm --name bookworm-amd64 \
--cdrom ~/iso/Debian/debian-12.0.0-amd64-netinst.iso \
--os-variant debian12 \
--disk size=10 --memory 1024
Hébergement VPS Windows
Remote Access & Full Admin
Parce que votre invité ne’Je n'ai pas de connexion réseau à ce stade, toi’Je devrai utiliser le virt-viewer GUI pour terminer le processus d'installation.
Cette méthode évitera d'avoir à télécharger le fichier ISO en utilisant le –drapeau de localisation:
virt-install --virt-type kvm --name bookworm-amd64 \
--location https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/ \
--os-variant debian12 \
--disk size=10 --memory 1024
Pour installer votre système via la console texte, toi’Je devrai m'assurer que virt-install utilise la console série:
virt-install --virt-type kvm --name bookworm-amd64 \
--location https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/ \
--os-variant debian12 \
--disk size=10 --memory 1024 \
--graphics none \
--console pty,target_type=serial \
--extra-args "console=ttyS0"
Pour une installation entièrement automatisée, consultez preseed ou debootstrap.
Configuration du pont réseau
Par défaut, QEMU utilise macvtap fonctionnant en mode VEPA pour fournir un accès NAT à Internet ou à un environnement ponté où d'autres invités sont présents. De cette façon, les clients peuvent accéder à Internet (en supposant qu'il existe une connexion Internet sur la machine hôte) mais ne sera pas visible ou accessible depuis la machine hôte ou toute autre machine connectée au réseau local de l'hôte.
Réseau par défaut fourni par Libvirt
Le réseau par défaut fourni par Libvirt permet la communication entre la machine hôte et les machines invitées. Le réseau par défaut est un réseau ponté NAT appelé « défaut. » Le réseau par défaut est disponible uniquement pour les VM du domaine système (cela signifie que les machines virtuelles s'exécutent en tant qu'utilisateur root ou en tant que qemu:///URI de connexion au système). Les machines virtuelles connectées au réseau par défaut seront placées à l'intérieur du 192.168.122.1/24 plage et être fourni avec DHCP par dnsmasq. Le réseau par défaut n'est pas démarré automatiquement. Utiliser:
virsh --connect=qemu:///system net-start default
Afin de configurer le réseau par défaut pour qu'il démarre automatiquement, utiliser:
virsh --connect=qemu:///system net-autostart default
Pour que ça marche, il est nécessaire d'installer les packages recommandés: base dnsmasq, utilitaires de pont, et pare-feu.
Accéder aux invités par nom d'hôte
Lorsque le réseau par défaut est configuré, il est possible de configurer le serveur DNS de libvirt dnsmasq, permettant d'accéder aux invités via leurs noms d'hôte. C'est utile lorsque vous travaillez avec plusieurs invités et que vous devez vous y connecter en utilisant un nom d'hôte plus simple que de mémoriser toutes les adresses IP..
D'abord, le réseau par défaut doit être configuré en exécutant la commande:
<domain name='libvirt' localOnly='yes'/>
libvirt fait référence au nom de domaine utilisé pour les machines invitées. Vous pouvez modifier cette valeur si nécessaire, mais évitez d'utiliser « local » car cela pourrait interférer avec mDNS. Il est également important de définir hlocalOnly=’Oui’ pour garantir que les demandes au sein de ce domaine ne sont pas transmises aux serveurs en amont, ce qui permet d'éviter d'éventuelles boucles de requêtes.
Après avoir appliqué ces paramètres, votre configuration réseau devrait ressembler à quelque chose comme ce qui suit:
<network connections='1'>
<name>default</name>
<uuid>66b33e64-713f-4323-b406-bc636c054af5</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:af:9f:2a'/>
<domain name='libvirt' localOnly='yes'/>
<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>
Vous devrez peut-être redémarrer votre service réseau pour que les nouveaux paramètres deviennent actifs.
Suivant, attribuer des noms d'hôte à vos machines virtuelles. Par exemple, si vous souhaitez nommer un invité vm1, connectez-vous à cette VM et exécutez:
sudo hostnamectl set-hostname vm1.libvirt
Après cela, ajustez le NetworkManager de l'hôte afin qu'il utilise le DNS de libvirt et puisse résoudre correctement les noms d'hôte des VM. Commencez par activer le dnsmasq intégré de NetworkManager. Pour faire ça, créer un fichier sur /etc/NetworkManager/conf.d/libvirt_dns.conf avec le contenu suivant:
[main]
dns=dnsmasq
Alors, configurer le dnsmasq de l'hôte pour transmettre toutes les requêtes DNS liées au domaine libvirt vers la propre instance dnsmasq de libvirt. Cela se fait en créant un autre fichier de configuration dans /etc/NetworkManager/dnsmasq.d/libvirt_dns.conf avec le contenu ci-dessous:
server=/libvirt/192.168.122.1
Ici, libvirt représente le nom de domaine défini dans votre configuration réseau libvirt. Assurez-vous que l'adresse IP correspond à celle attribuée au réseau par défaut de libvirt (reportez-vous à la section IP dans votre configuration réseau précédente).
Une fois que tout est réglé, redémarrer NetworkManager sur l'hôte:
sudo systemctl restart NetworkManager
Après avoir terminé ces étapes, vous devriez pouvoir vous connecter à vos machines virtuelles en utilisant leurs noms d'hôte, tel que ssh vm1.libvirt.
Accéder aux services d'hôte des invités lors de l'utilisation de pare-feu
Dans la configuration par défaut, l'interface virbr0 est affectée à la zone libvirt dans firewalld.
firewall-cmd --permanent --zone=libvirt --get-description
Cette zone est configurée avec une politique ACCEPTER, qui permet au trafic d'être transféré librement entre les interfaces de la zone. Cependant, il existe également une règle de rejet de priorité inférieure qui empêche l'accès direct aux services hôtes à moins qu'ils ne soient explicitement autorisés. Les administrateurs peuvent modifier la liste des services autorisés si nécessaire.
La zone libvirt est spécifiquement conçue pour les réseaux virtuels gérés par libvirt. Par défaut, tout nouveau pont de réseau virtuel créé par libvirt est automatiquement ajouté à cette zone.
Si vous souhaitez que vos machines virtuelles accèdent à des services spécifiques exécutés sur l'hôte, vous devez ouvrir les ports requis dans la zone libvirt. Par exemple:
firewall-cmd --permanent --zone=libvirt --add-port=3142/tcp
systemctl restart firewalld.service
Pontage manuel
Pour permettre la communication entre l'hôte et les machines virtuelles, vous pouvez créer un pont macvlan au-dessus d'une interface factice. Après l'avoir configuré, configurez vos VM pour utiliser le dummy0 (macvtap) interface en mode ponté.
modprobe dummy
ip link add dummy0 type dummy
ip link add link dummy0 macvlan0 type macvlan mode bridge
ifconfig dummy0 up
ifconfig macvlan0 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0 up
Communication entre l'hôte, invités, et réseau externe
Si vous souhaitez une connectivité complète entre l'hôte, machines virtuelles, et le réseau extérieur, vous pouvez configurer une interface de pont comme décrit dans la documentation QEMU.
Par exemple, modifier /etc/network/interfaces pour attacher votre interface physique (par ex., eth0) à un pont comme br0. Une fois configuré, sélectionner br0 comme interface réseau pour vos machines virtuelles.
Configurer KVM sur Linux de manière intelligente
Installation de KVM sous Linux dans 2026 n'est plus une tâche compliquée ou chronophage, surtout si vous suivez une approche rationalisée. Avec des distributions modernes offrant une prise en charge intégrée des outils de virtualisation, vous pouvez obtenir un environnement KVM entièrement fonctionnel et opérationnel en quelques étapes seulement.
De l'installation des packages requis à l'activation de la prise en charge de la virtualisation, en passant par la configuration du réseau et la gestion des machines virtuelles., l'ensemble du processus est devenu plus convivial et efficace. Des outils comme libvirt et virt-manager facilitent encore plus le contrôle et la surveillance de vos machines virtuelles sans gérer une complexité inutile..
En fin de compte sur Comment installer KVM, KVM reste l'une des solutions de virtualisation les plus puissantes et flexibles disponibles sur Linux. Que vous’je crée un laboratoire à domicile, environnements de test, ou exécuter des charges de travail de production, la maîtrise du KVM vous offre une base fiable et performante.
