Table des matières
Utilisation du plugin DNSMasq du NetworkManager
Supposons que vous voulez faire un essai dans une installation de démonstration avec 5 machines.
Vous voulez créer les machines virtuelles nécessaires dans votre environnement local, mais ne pouvez pas les adresser par leur nom.
Avec 5 machines, vous devez utiliser les adresses IP, ce qui n'est guère pratique.
Par chance, il existe une solution élégante : le plugin dnsmasq, un joyau caché de NetworkManager.
Pré-requis
Première étape
Activer le plugin dnsmasq de NetworkManager :
- /etc/NetworkManager/conf.d/00-use-dnsmasq.conf
# Ceci active le plugin dnsmasq. [main] dns=dnsmasq
- /etc/NetworkManager/dnsmasq.d/00-homelab.conf
# Ce fichier met en place le domaine local lablab # et définit quelques alias et un joker. local=/homelab/ # Ce qui suit définit une entrée DNS Wildcard. address=/.ose.homelab/192.168.101.125 # Ci-dessous, la définition de quelques noms d'hôtes. address=/openshift.homelab/192.168.101.120 address=/openshift-int.homelab/192.168.101.120
# Par défaut, le plugin ne lit pas /etc/hosts. # Ceci force le plugin à intégrer ce fichier. # Si vous ne voulez pas écrire dans le fichier /etc/hosts, # vous pouvez le faire pointer vers un autre fichier. addn-hosts=/etc/hosts
Redémarrez NetworkManager :<cli prompt='$ '>…@…:~ $ sudo systemctl restart NetworkManager</cli>.
Si tout fonctionne correctement, vous devriez voir que resolv.conf pointe vers 127.0.0.1 et qu'un nouveau processus dnsmasq a été créé :
...@...:~ $ cat /etc/resolv.conf # Generated by NetworkManager nameserver 127.0.0.1
Autres étapes
-
Configurer NetworkManager pour le domaine de libvirt :
Libvirt est livré avec son propre serveur DNS intégré, dnsmasq, pour servir les serveurs DHCP et DNS pour les vms.
NetworkManager peut également être configuré pour que le plugin dnsmasq fasse suivre les requêtes DNS à l'instance Libvirt si nécessaire :- /etc/NetworkManager/dnsmasq.d/01-libvirt_dnsmasq.conf
server=/qxyz.intra/192.168.122.1
-
Configuration de libvirt
Il faut d'abord configurer libvirt. Comme le réseau “default” est attribué aux machines virtuelles concernées, la configuration devrait ressembler à ceci :...@...:~ $ sudo virsh net-edit default <network connections='1'> <name>default</name> <uuid>158880c3-9adb-4a44-ab51-d0bc1c18cddc</uuid> <forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:fa:cb:e5'/> <domain name='qxyz.de' localOnly='yes'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.128' end='192.168.122.254'/> </dhcp> </ip> </network>
-
Configuration des machines invitées :
...@...:~ $ sudo hostnamectl set-hostname neon.qxyz.intra