Actuellement, mon /etc/resolv.conf
se lit comme suit:
nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11
et je veux qu'il se lise à la place:
search [my domain]
nameserver 10.255.0.101
nameserver 10.255.0.11
nameserver 208.67.222.222
nameserver 208.67.220.220
Étant donné que /etc/resolv.conf
et /etc/resolv.conf.d/head
ne peuvent pas être modifiés manuellement, comment puis-je effectuer cette modification?
Tout d'abord, /etc/resolvconf/resolv.conf.d/head
peut être modifié à la main. Le commentaire dans le fichier qui dit DO NOT EDIT THIS FILE BY HAND
ne s'applique pas à /etc/resolvconf/resolv.conf.d/head
lui-même mais à /etc/resolv.conf
, auquel l'ancien est ajouté.
Cela dit, dans des circonstances normales, vous ne devriez pas avoir à modifier /etc/resolvconf/resolv.conf.d/head
.
Les fichiers /etc/resolvconf/resolv.conf.d/head
et /etc/resolvconf/resolv.conf.d/tail
sont fournis comme moyen de forcer la tête et la queue sur le resolv.conf
généré si cela est nécessaire dans des circonstances exceptionnelles, mais si vous utilisez resolvconf correctement et dans des circonstances normales, vous n'êtes pas obligé de 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.1
suggè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 suit.
# 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
Ma conjecture est que, sur votre système, /etc/resolv.conf
n'est pas un lien symbolique vers ../run/resolvconf/resolv.conf
mais est un fichier brut qui peut ou non être généré par autre chose que resolvconf. Si le fichier est complètement statique, éditez-le simplement pour qu'il ressemble à ce que vous souhaitez. Si le fichier est généré par un outil autre que resolvconf, déterminez quel outil génère le fichier et configurez-le.
Vous pouvez également restaurer le lien symbolique /etc/resolv.conf -> ../run/resolvconf/resolv.conf
et configurer resolvconf correctement.
Comment supprimer le serveur de noms localhost de resolv.conf?
Les instructions suivantes ne concernent que le cas où vous utilisez resolvconf pour gérer /etc/resolv.conf
, c'est-à-dire, /etc/resolv.conf
est un lien symbolique vers ../run/resolvconf/resolv.conf
.
Si la ligne nameserver 127.0.0.1
se trouve dans l’un des fichiers de /etc/resolvconf/resolv.conf.d/
, supprimez-la de là.
Sinon, cette ligne provient d'un serveur de noms exécuté localement. Désinstallez ce serveur de noms ou configurez-le de manière à ne pas enregistrer l'adresse 127.0.0.1 avec resolvconf. En particulier, si vous exécutez BIND 9 nommé localement, supprimez-le ou définissez RESOLVCONF=no
dans /etc/default/bind9
.
Réf.: https://bugs.launchpad.net/debian/+source/bind9/+bug/93372
Essayer
Sudo vi /run/resolvconf/interface/NetworkManager
Supprimez ou remplacez le serveur de noms 127.0.0.1, puis utilisez
Sudo resolvconf -u.
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 mise à jour
Sudo resolvconf -u
Dans mon cas il y avait aussi
/run/resolvconf/interface/tun0.openvpn
fichier (créé par OpenVPN) pouvant être supprimé en toute sécurité pour éviter les interférences:
Sudo rm /run/resolvconf/interface/tun0.openvpn