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… :-)

Ceci est une ancienne révision du document !


Gestionnaire de réseau et plug-in DNSmasq

Le plugin dnsmasq est un joyau caché de NetworkManager.

Lors de l'utilisation du plugin, au lieu d'utiliser le serveur de noms DNS distribué par DHCP, NetworkManager configurera une copie locale de dnsmasq qui peut être personnalisée.

Vous pouvez demander : pourquoi faire cela ?

Personnellement, j'ai deux cas d'utilisation :

  1. Sur mon ordinateur portable, j'exécute une installation complète d'OpenShift.
    Pour que cela fonctionne, je dois pouvoir ajouter des entrées DNS.
    • Je pourrais créer une machine virtuelle pour exécuter un serveur DNS ou exécuter un serveur DNS localement, mais je dois ensuite modifier mon resolv.conf à chaque fois que je change de réseau (et parfois plus souvent).
  2. Quand je suis à la maison, je veux toujours pouvoir accéder aux entrées DNS de mon réseau domestique pendant que je suis sur VPN.
    • De nombreux VPN sont configurés de telle sorte que seul le trafic destiné au réseau VPN soit envoyé via le tunnel. Je peux toujours accéder à tout mon réseau local et la plupart du trafic sort par la passerelle par défaut.
    • C'est très bien car je peux toujours accéder à mon imprimante réseau ou écouter de la musique à partir de mon serveur multimédia tout en travaillant. Cependant, la connexion VPN écrase mon resolv.conf avec les serveurs DNS du réseau VPN. Par conséquent, le DNS de mon réseau domestique n'est plus accessible.

Le plugin dnsmasq pour NetworkManager résout ces deux problèmes.

Pour les entrées DNS locales, le plugin peut configurer des domaines locaux qui seront disponibles quel que soit le réseau auquel je suis connecté.

Pour le scénario VPN, je peux configurer dnsmasq pour transférer les demandes de mon domaine domestique vers mon serveur DNS domestique. Le DNS du VPN est configuré comme un transitaire dans dnsmasq plutôt que comme un serveur DNS principal, je peux donc résoudre à la fois les entrées DNS sur le réseau VPN et les miennes.

Voici comment le configurer dans Fedora 29 :

Dans un certain contexte, mon domaine sur mon ordinateur portable s'appelle laplab et mon domaine personnel est .cscc. Chez moi, mon serveur DNS est 172.31.0.20. Pour les entrées DNS dans laplab, la plupart d'entre elles sont définies dans /etc/hosts. DNSmasq peut alors les lire. J'ai également quelques entrées DNS supplémentaires définies pour un DNS générique et certains alias.

Voici les cinq fichiers à ajouter. NetworkManager utilise un répertoire de configuration. Vous pourriez peut-être disposer ces fichiers différemment si vous le souhaitez :

  • dans /etc/NetworkManager/conf.d/
  • dans /etc/NetworkManager/dnsmasq.d/
    • /etc/NetworkManager/dnsmasq.d/02-add-hosts.conf
      # /etc/NetworkManager/dnsmasq.d/00-cscc.conf
      #
      # This file directs dnsmasq to forward any request to resolve
      # names under the .cscc domain to 172.31.0.20, my home DNS server.
      server=/cscc/172.31.0.20
    • /etc/NetworkManager/dnsmasq.d/01-laplab.conf
    • /etc/NetworkManager/dnsmasq.d/00-cscc.conf
    • /etc/hosts