Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

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

  1. 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
  2. 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>

  3. Configuration des machines invitées :

    ...@...:~ $ sudo hostnamectl set-hostname neon.qxyz.intra

Conclusion

Problèmes connus

Voir aussi

QR Code
QR Code Utilisation du plugin DNSMasq du NetworkManager (generated for current page)