Si vous ne souhaitez pas effectuer de configuration à l'intérieur de l'invité, alors la seule option est un serveur DHCP qui attribue des adresses IP statiques. Si vous utilisez le mode bridge
, il s'agira probablement d'un serveur DHCP externe. Consultez son manuel pour savoir comment attribuer des baux statiques.
Mais au moins dans les modes de transfert nat
ou route
, vous pourriez utiliser le dnsmasq
intégré à libvirt (les versions les plus récentes de libvirtd prennent en charge l'option "dhcp-hostsfile" de dnsmasq). Voici comment :
Tout d'abord, trouvez les adresses MAC des VM que vous souhaitez attribuer des adresses IP statiques :
virsh dumpxml $NOM_VM | grep 'mac address'
Ensuite, modifiez le réseau
virsh net-list
virsh net-edit $NOM_DU_RÉSEAU # Probablement "default"
Trouvez la section , restreignez la plage dynamique et ajoutez des entrées d'hôtes pour vos VM
Ensuite, redémarrez votre VM (ou redémarrez son client DHCP, par exemple ifdown eth0; ifup eth0
)
Mise à jour : Je vois des rapports indiquant que le changement pourrait ne pas prendre effet après "virsh net-edit". Dans ce cas, essayez ceci après la modification :
virsh net-destroy $NOM_DU_RÉSEAU
virsh net-start $NOM_DU_RÉSEAU
... et redémarrez le client DHCP de la VM.
Si cela ne fonctionne toujours pas, vous devrez peut-être
- arrêter le service libvirtd
- tuer les processus dnsmasq qui sont toujours actifs
- démarrer le service libvirtd
Note : Il n'existe aucun moyen pour l'hôte KVM de forcer une VM avec un système d'exploitation inconnu et une configuration inconnue à utiliser une certaine configuration réseau. Mais si vous savez que la VM utilise un certain protocole de configuration réseau - disons DHCP - vous pouvez l'utiliser. C'est ce que suppose ce message.
Certains systèmes d'exploitation (par exemple certains distributions Linux) permettent également de transmettre des options de configuration réseau à l'invité par exemple via la ligne de commande du kernel. Mais c'est très spécifique à l'OS, et je ne vois pas d'avantage par rapport à la méthode DHCP.