Je viens de mettre à jour mon ordinateur portable de Xubuntu 17.04 à 17.10. Après le redémarrage final, DNS a cessé de fonctionner. C'est évidemment un problème! Je peux cingler des adresses IP connues; juste pas de résolution DNS.
Je n'ai pas bidouillé avec les paramètres DNS; autant que je sache, j'avais la configuration DNS standard précédemment. C'est juste un ordinateur portable qui utilise DHCP pour obtenir des détails de mon routeur WiFi domestique.
Évidemment, la capacité de diagnostiquer ceci est limitée lorsque le système lui-même ne peut résoudre aucune adresse Web. J'ai fait quelques recherches sur mon téléphone, et la plupart des réponses que j'ai trouvées semblaient recommander de désactiver le dnsmasq. Cependant, Dnsmasq était déjà éteint. Mais /etc/resolv.conf
montrait 127.0.1.1, ce qui semble impliquer qu’il s’attendait à ce que dnsmasq soit exécuté.
J'ai activé Dnsmasq, en éditant /etc/NetworkManager/NetworkManager.conf
et en ajoutant
[main]
dns=dnsmasq
et puis j'ai couru cette commande
Sudo systemctl restart NetworkManager
Ma résolution DNS fonctionne maintenant.
Cependant, étant donné que la configuration par défaut d’Ubuntu est non pour utiliser Dnsmasq, qu’aurais-je dû faire pour diagnostiquer et résoudre ce problème à la place?
Je mettais à jour Ubuntu aujourd'hui à partir des versions 16.10 à 17.04 à 17.10. Pour moi aussi, DNS a cessé de fonctionner. Le lien symbolique resolv.conf
était
/etc/resolv.conf -> /run/NetworkManager/resolv.conf
Ceci est apparemment faux pour 17.10. Le message d'erreur obtenu par l'affiche précédente provient de la sortie de resolvconf -service
:
$ systemctl status resolvconf
Il a donné la sortie suivante.
resolvconf[623]: /etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
En supprimant le lien symbolique d'origine, en liant /run/resolvconf/resolv.conf
à /etc/resolv.conf
et en redémarrant le DNS résolvconf -service, le système a recommencé à fonctionner:
$ Sudo rm /etc/resolv.conf
$ Sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
$ systemctl restart resolvconf
Fait intéressant, le code de sortie du resolvconf-service
était un succès avant même que le lien symbolique ne pointe vers le fichier correct.
J'ai trouvé ce bogue signalé ici: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/172584 ; veuillez confirmer que vous en souffrez également. Il est résolu par un simple dpkg-reconfigure resolvconf
.
Je suis tombé sur le même problème et je l'ai vu en train de regarder resolvconf
Oct 20 00:36:17 drew-8570w resolvconf[708]: /etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
La recréation du lien symbolique a corrigé le problème. Vous utilisez maintenant 127.0.0.53 par défaut maintenant?
$ ls -al /etc/resolv.conf
lrwxrwxrwx 1 root drew 27 Apr 6 2017 /etc/resolv.conf -> /run/resolvconf/resolv.conf
$ cat /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