Code : Tout sélectionner
search mondomaine.lan
nameserver vers_ip_dns_1
nameserver vers_ip_dns_2
Puis est venu le paquet resolvconf, qui était déjà une surcouche inutile.
Puis sont venus le couple network-manager/dnsmasq, avec un network-manager qui centralisait visuellement les configurations (progrès non négligeable), et qui gardait l'intelligence de proposer d'ignorer dnsmasq pour la résolution des noms.
Mais depuis avec la Ubuntu 18.04, voilà que les nouvelles distributions GNU/Linux en remettent une couche, avec les démons systemd-networkd et system-resolved, intégrés dans le paquet systemd de base, et qui transforment le /etc/resolv.conf en :
Code : Tout sélectionner
nameserver 127.0.0.53
En clair, systemd, sensé s'occuper uniquement des services au démarrage de la machine, bafoue ouvertement la philosophie KISS (Keep is Simple Stupid = gardez le simplement stupide = faire une chose et une seule, mais la faire bien) historique d'UNIX, qui a largement démontré sa supériorité dans la pratique.
En faisant cela, le promoteur principal de systemd (RedHat pour ne pas le nommer), se permet ici d'imposer un nouveau système de gestion des DNS, encore très loin d'être au point dans la pratique, car créant pas mal de conflits avec l'existant.
Exemple constaté : le nouvel outil n'est même pas capable de tenir des DNS renseignés en static dans /etc/network/interfaces ! Lamentable ! Il faut se farcir les modifs dans /etc/systemd/resolved.conf, et autres configurations spécifiques dans /etc/systemd/network/, avec toute la complexité inutile que cela amène en sus.
Heureusement : on peut virer ce bousin avec :
Code : Tout sélectionner
systemctl stop systemd-resolved
systemctl stop systemd-networkd
systemctl disable systemd-resolved
systemctl disable systemd-networkd
Raison pour laquelle garder un oeil sur le fork Devuan (clone de Debian qui utilise encore initd à la place de systemd) pourrait s'avérer très utile dans les prochaines années...
Mais pour en venir à notre Ubuntu, pour le moment, deux solutions simples s'offrent à nous :
- soit on a une configuration serveur statique, et dans cas, de toute façon, le network-manager et les deux services systemd concernés sont inutiles de fait, donc on les vire. Le plus simple est alors de construire son /etc/resolv.conf à la main.
- soit on a une configuration client classique (la machine de Mme Michu), et on veut garder son network-manager pour surfer dans différents endroits. On force alors l'utilisation des DNS indiqués dans les configurations du Network Manager en rajoutant la ligne
Code : Tout sélectionner
dns=default
Code : Tout sélectionner
service network-manager restart
Mais peut-être y a t'il des avis moins tranchés que le mien ?
En tout cas, si vous rencontrez aussi des problèmes de DNS, c'est le bon endroit pour déballer !