it-swarm.com.de

Warum wird /etc/resolv.conf nicht aktualisiert, wenn ich meinen DNS ändere?

Ich habe versucht, mein DNS auf 8.8.8.88.8.4.4 zu ändern, aber es scheint nicht in der Lage zu sein, dies zu tun.

In /etc/resolv.conf habe ich

# 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

In /etc/resolvconf/resolv.conf.d/base habe ich hinzugefügt

nameserver 8.8.8.8
nameserver 8.8.4.4

und neu geladen mit Sudo resolvconf -u

aber nichts ändert sich in /etc/resolv.conf

Wenn ich etwas in /etc/resolvconf/resolv.conf.d/base falsch schreibe, zum Beispiel ameserver 8.8.8.8 hinzufüge und cat /etc/resolv.conf neu lade, wird dies jetzt angezeigt.

# 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
ameserver 8.8.8.8

Was soll ich tun, um die DNS zu ändern und wie kann ich überprüfen, ob es funktioniert hat?

4
Qwertie

Um die andere Antwort hier zu erläutern und einige Unklarheiten zu beseitigen, enthält Network Manager auch eine kleine Version von dnsmasq. Dies ist die 127. * -Adresse in Ihrer resolv.conf - die IP-Adresse von localhost, an die dnsmasq gebunden ist.

Wenn Network Manager mit den DNS-Servern konfiguriert ist, teilt dnsmasq mit, an welche DNS-Server Anforderungen weitergeleitet werden sollen.

Wenn Sie 8.8.8.8 in den Network Manager-Einstellungen als DNS-Server festlegen, leitet dnsmasq alle Anforderungen weiter, die nicht in 8.8.8.8 für die eigentliche Auflösung zwischengespeichert sind, während Ihr Computer DNS-Anforderungen direkt zur Bearbeitung an dnsmasq sendet.

Verwirrend, ich weiß, aber Sie können sich nicht auf resolv.conf verlassen, um die verwendeten DNS-Server anzuzeigen, wenn Sie Network Manager zum Verwalten der Verbindungen verwenden.

5
Thomas Ward

Machen Sie zuerst alles wieder rückgängig, was wir in Kommentaren getan haben.

Verwenden:

$ nmcli device 

so erhalten Sie den Status eines Netzwerkmanagers:

DEVICE  TYPE      STATE        CONNECTION 
enp3s0  ethernet  connected    myConnection

Meine Schnittstelle ist also enp3s0 und mein Verbindungsname ist myConnection.

Ich kann überprüfen, welchen DNS-Server meine Verbindung verwendet:

$ nmcli -f IP4.DNS connection show myConnection

Für dich wird es wohl zeigen:

ipv4.dns:                               127.0.0.1

Stellen wir nun die gewünschten DNS-Serves ein:

nmcli connection modify myConnecion ipv4.dns "8.8.8.8, 8.8.4.4"

Immerhin lade die Verbindung neu:

nmcli connection down myConnecion
nmcli connection up myConnecion

Dann überprüfe /etc/resolv.conf:

cat /etc/resolv.conf

Wenn immer noch angezeigt wird, dass Sie 127.0.0.1 als DNS-Server verwenden, besteht eine hohe Wahrscheinlichkeit, dass Sie "dnsmasq" verwenden, um sicherzustellen, dass Folgendes ausgeführt wird:

Sudo ss -pln sport = 53

Sie sollten dnsmasq name als einen Prozess erhalten, der auf Port 53 lauscht, damit alles in Ordnung ist und Sie die korrekten DNS-Namenservers verwenden. 127.0.0.1 ist nur eine Schicht zwischen Ihnen und den von Ihnen festgelegten Servern.

Wenn Sie "8.8.8.8" in /etc/resolv.conf sehen möchten, sollten Sie "dnsmasq" deaktivieren.

Öffnen Sie diese Datei:

/etc/NetworkManager/NetworkManager.conf

Ändern Sie dns=dnsmasq in #dns=dnsmasq.

Endlich:

Sudo systemctl restart NetworkManager

Überprüfen Sie nun noch einmal /etc/resolv.conf.

3
Ravexina