Il est possible que resolvconf soit mal configuré. Cela est particulièrement probable si vous jouez avec ses fichiers de configuration sans vraiment comprendre comment fonctionnent resolvconf et NetworkManager.
Pour des informations générales, veuillez lire la documentation de resolvconf et l’article de Stéphane Graber.
lien
Tout d’abord, sachez que Ubuntu Desktop et Ubuntu Server ont tous deux installé et activé resolvconf par défaut. 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 qu'Ubuntu Desktop a par défaut installé et activé NetworkManager. 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 sur 127.0.1.1. Lorsque NetworkManager démarre l'instance dnsmasq, il dit à resolvconf d'insérer l'adresse 127.0.1.1
dans resolv.conf. Comme mentionné dans une autre réponse, si vous configurez NetworkManager pour ne pas démarrer une instance de serveur de noms de transfert locale, il ne démarrera pas un serveur de noms de transfert local et ne demandera pas à resolvconf d'insérer l'adresse 127.0.1.1
dans resolv.conf.
Cette configuration par défaut fonctionne correctement, donc à moins que votre situation ne soit particulière, vous devez restaurer la configuration par défaut.
Pour restaurer la configuration par défaut, voir à ce que
- /etc/resolvconf/resolv.conf.d/head ne contient que le texte de l’en-tête resolvconf composé de 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 raisonnable de désactiver le serveur de noms de transfert local contrôlé par NetworkManager en mettant en commentaire la ligne dns=dnsmasq
.
[main]
...
#dns=dnsmasq
...
Après avoir fait tout cela, il est conseillé de redémarrer la machine afin d’effacer les enregistrements d’informations de serveur de noms obsolètes.
sudo reboot