Wie kann ich systemd-resolved in Ubuntu 17.04 deaktivieren?
Deaktivieren mit systemctl disable
hat nicht funktioniert, der Dienst scheint neu gestartet zu werden (vom Networkmanager?)
Wie kann ich systemd-resolved in Ubuntu 17.04 deaktivieren?
Deaktivieren mit systemctl disable
hat nicht funktioniert, der Dienst scheint neu gestartet zu werden (vom Networkmanager?)
Antworten:
Diese Methode funktioniert mit den Ubuntu-Versionen 17.04 (Zesty), 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
sudo systemctl stop systemd-resolved
Dann setzen Sie die folgende Zeile in den [main]
Bereich Ihres /etc/NetworkManager/NetworkManager.conf
:
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. Sehen Sie diesen Fehler auf dem Launchpad (Danke, Vincent).
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, die mangelnde Kommunikation des Ubuntu-Teams und die Gung-Ho-Mentalität "Lasst es uns einfach ändern, obwohl es für alle kaputt geht".
Die Lösung für mich, nachdem ich ein paar Haare ausgerissen hatte, bestand darin, /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.
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, aber die dns=default
Zeile nicht hinzufügen , da es den Nameserver 127.0 aktiviert .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 hinzunameserser 192.168.1.1
tun, ln -sf /var/run/resolved/resolv.conf /etc/resolv.conf
wenn Sie mit dieser Datei durcheinander gebracht hatten.