it-swarm.com.de

Wie deaktiviere ich systemd-resolved in Ubuntu?

Wie kann ich systemd-resolved in Ubuntu 17.04 deaktivieren?

Das Deaktivieren mit systemctl disable hat nicht funktioniert, der Dienst scheint neu gestartet worden zu sein (vom Networkmanager?)

83
Bastian Voigt

Diese Methode funktioniert mit Ubuntu Releases 17.04 (Zasty) , 17.10 (Artful) , 18.04 (Bionic) , 18.10 (Cosmic) und 19.04 (Disco) :

Deaktivieren und beenden Sie den vom System aufgelösten Dienst:

Sudo systemctl disable systemd-resolved.service
Sudo systemctl stop systemd-resolved

Fügen Sie dann die folgende Zeile in den Abschnitt [main] Ihres /etc/NetworkManager/NetworkManager.conf ein:

dns=default

Löschen Sie den Symlink /etc/resolv.conf

rm /etc/resolv.conf

Starten Sie NetworkManager neu

Sudo systemctl restart NetworkManager

Beachten Sie auch, dass das Deaktivieren von systemd-resolvd die Namensauflösung in VPN für einige Benutzer beeinträchtigen kann. Siehe dieser Bug auf dem Launchpad (Danke, Vincent).

142
Bastian Voigt

Ich habe kürzlich ein Upgrade auf (k) Ubuntu 17.04 durchgeführt und bin auch auf den Wechsel zu systemd gestoßen.

Mein Setup ist ziemlich typisch, da ich einen DNS-Anbieter in meinem Breitband-HUB habe und dies meine Hauptinformationsquelle für alle Geräte in meinem Netzwerk ist (von denen ich einige habe).

Das Systemd hat etwas Schönes, es ist nicht alles schlecht, aber was wirklich schlecht ist, ist die Dokumentation, der Mangel an Kommunikation vom Ubuntu-Team und die Gung-Ho-Mentalität "Lass es uns einfach ändern, obwohl es für alle kaputt geht".

Die Lösung für mich, nachdem ich ein paar Haare ausgerissen hatte, war, /etc/systemd/resolved.conf zu bearbeiten:

[Resolve]
DNS=192.168.1.254   # <-- change to your router address
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Domains=lan         # <-- change to your localdomain name (maybe .local)
#LLMNR=yes  <-- I dabbled with this for a while but it doesn't matter
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp

Nachdem ich nicht verstanden hatte, warum dies nicht funktionieren würde, stellte ich fest, dass /etc/resolv.conf ebenfalls auf die von systemd bereitgestellte Datei umgestellt werden musste. Dies ist bei einer Standardinstallation nicht der Fall (aus mir unbekannten Gründen).

Sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Der lokale DNS-Server wird dann nicht verwendet und alle DNS-Anforderungen werden an meinen HUB gesendet.

Ich denke, dies ist eine viel bessere Lösung als das Ausschneiden und Einfügen einer anderen Lösung, da systemd-resolv jetzt die Standardeinstellung ist.

Ein verwandtes Problem ist übrigens, dass die /etc/nsswitch.conf neutralisiert ist.

Es sollte lauten:

hosts: files mdns4_minimal dns [NOTFOUND = return] DNS auflösen [! UNAVAIL = return]

Dies ist eine verwirrende Konfiguration, da [NOTFOUND = return] bedeutet, dass die Verarbeitung dort endet. Die Einträge danach werden niemals verwendet.

16
user2427436

Wenn Sie Probleme mit Ihrem VPN haben und nicht herausfinden können, wie systemd (wie ich) einzurichten ist, können Sie es auf die in der ersten Antwort beschriebene Weise entfernen. Fügen Sie jedoch nicht die dns=default -Zeile hinzu, da dies der Fall ist aktiviert den Nameserver 127.0.0.1. Um den Router als DNS festzulegen, erstellen Sie die Datei "tail" in Ihrem /etc/resolvconf/resolv.conf.d/ -Ordner und fügen Sie die Zeile nameserser 192.168.1.1 hinzu.

mach ln -sf /var/run/resolved/resolv.conf /etc/resolv.confwenn du diese Datei falsch gemacht hast.

2
Yvain