Wie entferne ich den localhost-Nameserver aus der resolv.conf?

9

Derzeit /etc/resolv.confliest mein :

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

und ich möchte, dass es stattdessen lautet:

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

Da beide /etc/resolv.confund /etc/resolv.conf.d/headnicht von Hand bearbeitet werden können, wie kann ich diese Änderung vornehmen?

user217676
quelle
Unter askubuntu.com/a/208027/15811 finden Sie eine Erklärung zur Verwendung.
Rinzwind

Antworten:

7

Erstens /etc/resolvconf/resolv.conf.d/head kann von Hand bearbeitet werden. Der Kommentar in der Datei, der besagt, DO NOT EDIT THIS FILE BY HANDgilt nicht für sich /etc/resolvconf/resolv.conf.d/headselbst, sondern für den /etc/resolv.conf, dem der erstere vorangestellt ist.

Allerdings sollten Sie unter normalen Umständen nicht bearbeiten müssen /etc/resolvconf/resolv.conf.d/head.

Die Dateien /etc/resolvconf/resolv.conf.d/headund /etc/resolvconf/resolv.conf.d/tailwerden bereitgestellt, um Kopf und Schwanz auf die generierten Dateien zu zwingen, resolv.conffalls dies unter außergewöhnlichen Umständen erforderlich sein sollte. Wenn Sie resolvconf jedoch ordnungsgemäß und unter normalen Umständen verwenden, müssen Sie dies nicht tun.

Sie sagen, dass der Dateiinhalt ist

nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11

Das Vorhandensein der Zeile nameserver 127.0.0.1deutet darauf hin, dass Sie einen lokalen Weiterleitungs-Nameserver wie dnsmasq ausführen. Die obige Datei ist nicht das, was resolvconf unter diesen Umständen normalerweise generiert. Normalerweise wird eine Datei wie die folgende generiert.

# 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

Ich vermute, dass es sich bei Ihrem System /etc/resolv.confnicht um eine symbolische Verknüpfung handelt, ../run/resolvconf/resolv.confsondern um eine einfache Datei, die möglicherweise von etwas anderem als resolvconf generiert wird oder nicht. Wenn die Datei vollständig statisch ist, bearbeiten Sie sie einfach so, dass sie so aussieht, wie Sie es möchten. Wenn die Datei von einem anderen Tool als resolvconf generiert wird, ermitteln Sie, welches Tool die Datei generiert, und konfigurieren Sie dieses Tool.

Alternativ können Sie die symbolische Verknüpfung wiederherstellen /etc/resolv.conf -> ../run/resolvconf/resolv.confund resolvconf ordnungsgemäß konfigurieren.

Wie entferne ich den localhost-Nameserver aus der resolv.conf?

Die folgenden Anweisungen gelten nur für den Fall, dass Sie resolvconf zum Verwalten verwenden /etc/resolv.conf, dh /etc/resolv.confeine symbolische Verknüpfung zu ../run/resolvconf/resolv.conf.

Wenn sich die Zeile nameserver 127.0.0.1in einer der Dateien befindet, /etc/resolvconf/resolv.conf.d/entfernen Sie sie von dort.

Andernfalls stammt diese Zeile von einem lokal ausgeführten Nameserver. Deinstallieren Sie diesen Nameserver entweder oder konfigurieren Sie diesen Nameserver so, dass die Adresse 127.0.0.1 nicht bei resolvconf registriert wird. Wenn Sie BIND 9 mit lokalem Namen ausführen, entfernen Sie es entweder oder setzen Sie es RESOLVCONF=noein /etc/default/bind9.

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

jdthood
quelle
2

Versuchen

sudo vi /run/resolvconf/interface/NetworkManager

Entfernen oder ersetzen Sie den Nameserver 127.0.0.1 und verwenden Sie ihn dann

sudo resolvconf -u.
Mitre Slavchev
quelle
1

Überprüfen Sie Ihre NetworkManager-Konfiguration:

sudo NetworkManager --print-config

Wenn es gibt

dns=systemd-resolved

Bearbeiten Sie dann die Einstellungen in

/run/resolvconf/interface/systemd-resolved

und aktualisieren

sudo resolvconf -u

In meinem Fall gab es auch

/run/resolvconf/interface/tun0.openvpn

Datei (erstellt von OpenVPN), die sicher gelöscht werden kann, um Interferenzen zu vermeiden:

sudo rm /run/resolvconf/interface/tun0.openvpn
Valery Markov
quelle