Jak usunąć localhost nameserver z resolv.conf

10

Obecnie /etc/resolv.confczytam:

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

i chcę zamiast tego przeczytać:

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

Jak zarówno /etc/resolv.confi /etc/resolv.conf.d/headnie mogą być edytowane przez strony, w jaki sposób można dokonać tej zmiany?

użytkownik217676
źródło
Zobacz askubuntu.com/a/208027/15811, aby uzyskać wyjaśnienie, jak z tego korzystać.
Rinzwind

Odpowiedzi:

7

Po pierwsze, /etc/resolvconf/resolv.conf.d/head można edytować ręcznie. Komentarz w pliku, który mówi DO NOT EDIT THIS FILE BY HAND, nie odnosi się do /etc/resolvconf/resolv.conf.d/headsamego siebie, ale do /etc/resolv.conf, do którego poprzednio został dodany.

Powiedziawszy to jednak, w normalnych okolicznościach nie powinieneś edytować /etc/resolvconf/resolv.conf.d/head.

Pliki /etc/resolvconf/resolv.conf.d/headi /etc/resolvconf/resolv.conf.d/tailsą dostarczane jako sposób na zmuszenie głowy i ogona do wygenerowania, resolv.confktóre powinny być potrzebne w wyjątkowych okolicznościach, ale jeśli używasz resolvconf prawidłowo i w normalnych okolicznościach, nie musisz tego robić.

Mówisz, że zawartość pliku to

nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11

Obecność linii nameserver 127.0.0.1sugeruje, że korzystasz z lokalnego serwera nazw, takiego jak dnsmasq. Powyższy plik nie jest tym, co resolvconf zwykle generuje w takich okolicznościach. Zwykle generuje plik taki jak poniżej.

# 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

Domyślam się, że w twoim systemie /etc/resolv.confnie ma dowiązania symbolicznego, ../run/resolvconf/resolv.confale zwykły plik, który może, ale nie musi być generowany przez coś innego niż resolvconf. Jeśli plik jest całkowicie statyczny, po prostu edytuj go, aby wyglądał tak, jak chcesz. Jeśli plik jest generowany przez narzędzie inne niż resolvconf, dowiedz się, jakie narzędzie generuje plik i skonfiguruj to narzędzie.

Alternatywnie, przywróć dowiązanie symboliczne /etc/resolv.conf -> ../run/resolvconf/resolv.confi odpowiednio skonfiguruj resolvconf.

Jak usunąć localhost nameserver z resolv.conf?

Poniższe instrukcje dotyczą tylko przypadku, w którym do zarządzania używasz resolvconf /etc/resolv.conf, tj. /etc/resolv.confJest dowiązaniem symbolicznym ../run/resolvconf/resolv.conf.

Jeśli wiersz nameserver 127.0.0.1znajduje się w jednym z plików, /etc/resolvconf/resolv.conf.d/usuń go stamtąd.

W przeciwnym razie linia ta pochodzi z lokalnego serwera nazw. Odinstaluj ten serwer nazw lub skonfiguruj ten serwer nazw, aby nie rejestrował adresu 127.0.0.1 w resolvconf. W szczególności, jeśli używasz BIND 9 nazwie lokalnie, albo usunąć go lub ustawić RESOLVCONF=now /etc/default/bind9.

Ref: https://bugs.launchpad.net/debian/+source/bind9/+bug/933723

jdthood
źródło
2

Próbować

sudo vi /run/resolvconf/interface/NetworkManager

Usuń lub zamień serwer nazw 127.0.0.1, a następnie użyj

sudo resolvconf -u.
Mitre Slavchev
źródło
1

Sprawdź konfigurację NetworkManager:

sudo NetworkManager --print-config

jeśli jest

dns=systemd-resolved

następnie edytuj ustawienia w

/run/resolvconf/interface/systemd-resolved

i aktualizacja

sudo resolvconf -u

W moim przypadku też było

/run/resolvconf/interface/tun0.openvpn

plik (stworzony przez OpenVPN), który można bezpiecznie usunąć, aby uniknąć zakłóceń:

sudo rm /run/resolvconf/interface/tun0.openvpn
Valery Markov
źródło