Il est possible que resolvconf soit mal configuré. Cela est particulièrement probable si vous avez joué avec ses fichiers de configuration sans vraiment comprendre le fonctionnement de resolvconf et de NetworkManager.
Pour plus d'informations, veuillez consulter la documentation de resolvconf et le blog de Stéphane Graber.
https://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
Tout d’abord, vous devez savoir que le serveur resolvconf est installé et activé à la fois sur Ubuntu Desktop et Ubuntu Server. Resolvconf fournit un cadre pour la mise à jour dynamique du fichier /etc/resolv.conf de manière ordonnée et réversible.
Deuxièmement, vous devez savoir que par défaut, Ubuntu Desktop a NetworkManager installé et activé. Par défaut, NetworkManager démarre une instance de Dnsmasq pour servir de serveur de noms de transfert local. Cette instance de Dnsmasq contrôlée par NetworkManager écoute les requêtes de 127.0.1.1. Lorsque NetworkManager démarre l'instance dnsmasq, il demande à resolvconf d'insérer l'adresse 127.0.1.1
dans resolv.conf. Comme indiqué dans une autre réponse, si vous configurez NetworkManager pour qu'il ne démarre pas d'instance de serveur de noms de transfert local, il ne démarrera pas de serveur de noms de transfert local et n'indiquera pas à resolvconf d'insérer l'adresse 127.0.1.1
dans resolv.conf.
Cette configuration par défaut fonctionne correctement. Par conséquent, sauf si votre situation est particulière, vous devez restaurer la configuration par défaut.
Pour restaurer la configuration par défaut, assurez-vous que
- /etc/resolvconf/resolv.conf.d/head contient uniquement le texte de l'en-tête resolvconf consistant en deux lignes commençant par un
#
caractère.
- /etc/resolvconf/resolv.conf.d/base est un fichier vide
- /etc/resolvconf/resolv.conf.d/tail est un fichier vide
- /etc/resolv.conf est un lien symbolique avec le contenu
../run/resolvconf/resolv.conf
Pour ce faire, exécutez les commandes suivantes.
sudo su
dpkg-reconfigure resolvconf # And answer `Yes` to agree to dynamic updates
cd /etc/resolvconf/resolv.conf.d
echo '# 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' > head
rm -f base tail original
:> base
:> tail
La configuration d'origine de NetworkManager est d'avoir
[main]
...
dns=dnsmasq
...
dans /etc/NetworkManager/NetworkManager.conf. Il est judicieux de désactiver le serveur de noms de transfert local contrôlé par NetworkManager en commentant la dns=dnsmasq
ligne.
[main]
...
#dns=dnsmasq
...
Après avoir fait tout cela, il est conseillé de redémarrer la machine pour effacer les enregistrements d’informations obsolètes du serveur de noms.
sudo reboot