web-dev-qa-db-fra.com

Les anciens paramètres DNS reviennent sans cesse

Ubuntu 16.04

Après avoir déménagé, je règle les paramètres DNS via l'interface graphique réseau (voir ici ) sur mes nouvelles valeurs. La connexion Internet est là, mais la résolution de nom semble très lente. Mon interprétation est la suivante: il essaie de résoudre le nom avec les anciens paramètres qui expirent au bout de 5 secondes environ, puis tente et réussit (rapidement) avec de nouveaux paramètres.

Mais quoi que je fasse, les anciennes valeurs sont toujours "dans le système".

Après un redémarrage:

  • /etc/resolvconf/resolv.conf.d/head contient les anciennes adresses DNS
  • /etc/resolvconf/resolv.conf.d/base contient les nouvelles adresses DNS
  • /etc/resolv.conf (run/resolvconf/resolv.conf) contient d'anciennes adresses DNS (de head) suivies de valeurs dans /run/resolvconf/interface/NetworkManager (qui contient localhost et search- paramètre)

/etc/network/interfaces ne contient pas grand chose:

auto lo
iface lo inet loopback

J'ai ajouté les nouveaux paramètres DNS dans /etc/dhcp/dhclient.conf sans effet.

Jusqu'à présent, le seul remède consiste à éditer manuellement /etc/resolv.conf après chaque démarrage.

Alors, question: comment faire pour qu'Ubuntu oublie les anciens paramètres (ceux de /etc/resolvconf/resolv.conf.d/head qui sont générés automatiquement). Non nscd installé. This semblerait une façon de le faire, mais je suppose qu'il doit y en avoir une meilleure.

Option non essayée: installez dnsmasq et configurez comme décrit ici (encore une fois, je pense que cela devrait être possible sans cela)

3
tokosh

Le fichier /etc/resolv.conf est généré à partir des fichiers stockés dans le répertoire /etc/resolvconf/resolv.conf.d lors de l'exécution de Sudo resolvconf -u.

Si vous apportez des modifications à ces fichiers:

terrance@terrance-ubuntu:/etc/resolvconf/resolv.conf.d$ ls -l
total 8
-rw-r--r-- 1 root root   0 Jun  3  2015 base
-rw-r--r-- 1 root root 151 Feb 25  2017 head
-rw-r--r-- 1 root root  33 Jun  5  2016 original
-rw-r--r-- 1 root root   0 Jun  5  2016 tail

Les modifications seront répercutées lorsque vous exécuterez la commande resolvconf -u pour la mise à jour. En fait, je mets mes informations DNS dans le fichier original et je laisse tous les autres fichiers seuls:

terrance@terrance-ubuntu:/etc/resolvconf/resolv.conf.d$ cat original 
search local
nameserver 10.0.0.1

Ensuite, après avoir exécuté la commande Sudo resolvconf -u, nous pouvons voir mes modifications dans mon fichier /etc/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
nameserver 10.0.0.1
search local

EDIT: Une dernière chose à vérifier et à modifier est la ligne dns=dnsmasq trouvée dans le fichier /etc/NetworkManager/NetworkManager.conf. Vous pouvez copier et coller la ligne suivante pour la désactiver en utilisant le dnsmasq de NetworkManager.

Sudo sed -i 's/dns=dnsmasq/#dns=dnsmasq/' /etc/NetworkManager/NetworkManager.conf 

Après avoir exécuté la ligne ci-dessus, redémarrez l'ordinateur pour que les nouvelles modifications prennent effet.

J'espère que cela t'aides!

2
Terrance