Comment supprimer le serveur de noms localhost de resolv.conf

10

Actuellement mes /etc/resolv.conflectures:

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

et je veux plutôt lire:

search [my domain]  
nameserver 10.255.0.101  
nameserver 10.255.0.11  
nameserver 208.67.222.222  
nameserver 208.67.220.220  

Comme les deux /etc/resolv.confet /etc/resolv.conf.d/headne peuvent pas être modifiés à la main, comment puis-je effectuer ce changement?

user217676
la source
Voir askubuntu.com/a/208027/15811 pour une explication sur la façon de l'utiliser.
Rinzwind

Réponses:

7

Tout d'abord, /etc/resolvconf/resolv.conf.d/head peut être édité à la main. Le commentaire dans le fichier qui dit DO NOT EDIT THIS FILE BY HANDne s'applique pas à /etc/resolvconf/resolv.conf.d/headlui-même mais à /etc/resolv.conf, auquel le premier est ajouté.

Cela dit, cependant, dans des circonstances normales, vous ne devriez pas avoir à modifier /etc/resolvconf/resolv.conf.d/head.

Les fichiers /etc/resolvconf/resolv.conf.d/headet /etc/resolvconf/resolv.conf.d/tailsont fournis comme un moyen de forcer une tête et une queue sur le généré resolv.confsi cela est nécessaire dans des circonstances exceptionnelles, mais si vous utilisez correctement resolvconf et dans des circonstances normales, vous n'avez pas à le faire.

Vous dites que le contenu du fichier est

nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11

La présence de la ligne nameserver 127.0.0.1suggère que vous exécutez un serveur de noms de transfert local tel que dnsmasq. Le fichier ci-dessus n'est pas ce que resolvconf génère normalement dans ces circonstances. Il génère normalement un fichier comme le suivant.

# 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 127.0.0.1
search foo.com

Je suppose que sur votre système /etc/resolv.confn'est pas un lien symbolique vers ../run/resolvconf/resolv.confmais est un fichier simple qui peut ou non être généré par autre chose que resolvconf. Si le fichier est complètement statique, modifiez-le simplement pour qu'il ressemble à ce que vous voulez qu'il ressemble. Si le fichier est généré par un outil autre que resolvconf, déterminez quel outil génère le fichier et configurez cet outil.

Vous pouvez également restaurer le lien symbolique /etc/resolv.conf -> ../run/resolvconf/resolv.confet configurer correctement resolvconf.

Comment supprimer le serveur de noms localhost de resolv.conf?

Les instructions suivantes s'appliquent uniquement au cas où vous utilisez resolvconf pour gérer /etc/resolv.conf, c'est-à-dire, /etc/resolv.confest un lien symbolique vers ../run/resolvconf/resolv.conf.

Si la ligne se nameserver 127.0.0.1trouve dans l'un des fichiers, /etc/resolvconf/resolv.conf.d/supprimez-la de là.

Sinon, cette ligne provient d'un serveur de noms s'exécutant localement. Désinstallez ce serveur de noms ou configurez ce serveur de noms pour ne pas enregistrer l'adresse 127.0.0.1 avec resolvconf. En particulier, si vous utilisez BIND 9 nommé localement, soit supprimer ou mettre RESOLVCONF=noen /etc/default/bind9.

Réf: https://bugs.launchpad.net/debian/+source/bind9/+bug/933723

jdthood
la source
2

Essayer

sudo vi /run/resolvconf/interface/NetworkManager

Supprimez ou remplacez le serveur de noms 127.0.0.1, puis utilisez

sudo resolvconf -u.
Mitre Slavchev
la source
1

Vérifiez votre configuration NetworkManager:

sudo NetworkManager --print-config

s'il y a

dns=systemd-resolved

puis modifiez les paramètres dans

/run/resolvconf/interface/systemd-resolved

et mettre à jour

sudo resolvconf -u

Dans mon cas, il y avait aussi

/run/resolvconf/interface/tun0.openvpn

fichier (créé par OpenVPN) qui peut être supprimé en toute sécurité pour éviter les interférences:

sudo rm /run/resolvconf/interface/tun0.openvpn
Valery Markov
la source