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)
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!