Essuyer les plâtres DNS sur Ubuntu

Si il y a une chose dont j’ai horreur c’est d’essuyer les plâtres d’outils mal finalisés. La dernière version d’Ubuntu 17.04 Zesty Zapus est sortie le 13/04 et j’ai eu la chance malchance d’avoir un peu de temps pour mettre à jour mes postes. Mais bon restons positif ça me donne l’occasion d’aider les pauvres malheureux qui vont se retrouver avec des ennuis DNS comme moi.

Un des changements importants apportés par cette nouvelle version est que systemd-resolved est maintenant utilisé comme résolveur DNS par défaut. Afin de jeter un œil vous pouvez faire un petit systemd-resolve status dans votre terminal. Vous pourrez également constater les changements dans le fichier /etc/resolv.conf.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53

nameserver 127.0.0.53 pointe donc en réalité vers le daemon systemd-resolved comme c’est marqué ci-dessus. Chez moi ça se traduit tout de suite par une extrême lenteur pour aller sur le web, parfois des DNS Probe Finished, parfois des timeouts. Joie.

La communauté commence à s’activer et on voit fleurir quelques pistes pour résoudre le problème. J’ai personnellement apprécié cet article en Anglais qui propose dans un premier temps de désactiver DNSSEC source de la majorité des soucis apparemment. Comme il le souligne ce n’est pas propre, ce n’est pas une solution définitive car DNSSEC est utile d’un point de vue sécurité. Dans un second temps il propose de remplacer systemd-resolved par Unbound. C’est radical comme solution mais beaucoup de lecteurs souligneront que c’est LA bonne solution. Je vous fournis le lien pour des tutos en Français (moteur de recherche du Jdh powaaaa !).

Pour ma part j’ai choisi une autre solution moins radicale croisée ici. On peut constater que /etc/resolv.conf est en réalité un lien symbolique pointant vers /run/resolvconf/resolv.conf. On va supprimer ce lien symbolique puis en tirer un autre vers /run/systemd/resolve/resolv.conf qui est un fichier maintenu à jour par systemd-resolved pour compatibilité avec les programmes traditionnels Linux.

ls -la /etc/resolv.conf
sudo rm -f /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Je vous invite à présent à afficher /etc/resolv.conf pour constater le changement. Lorsque les plâtres sur systemd-resolved seront corrigés par les développeurs il vous suffira de faire un rollback en supprimant le lien symbolique et en tirant un lien symbolique vers /run/resolvconf/resolv.conf pour revenir à la configuration initiale.

ls -la /etc/resolv.conf
sudo rm -f /etc/resolv.conf
sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

Tcho !

Vus : 611
Publié par blog-libre : 133