
Ich möchte mit der Verwendung systemd-resolved
von Oracle Linux 7.6 beginnen.
Ich möchte es in dem Modus verwenden, in dem /etc/resolv.conf
es sich lediglich um einen symbolischen Link handelt, der /run/systemd/resolve/stub-resolv.conf
nur nameserver 127.0.0.53
als Inhalt dient.
Ich habe systemd-networkd
und systemd-resolved
Pakete installiert. Ich habe die relevanten Dienste aktiviert und ich habe NetworkManager
und network
Dienste deaktiviert.
Meine Installation von systemd-resolved
enthält diese Stub-Datei jedoch nicht /run/systemd/resolve/stub-resolv.conf
. Sie enthält nur /run/systemd/resolve/resolv.conf
.
Können Sie mir bitte sagen, warum meins stub-resolv.conf
fehlt?
Antwort1
Ich hatte unter Ubuntu 20.04 LTS mehrmals dasselbe Problem und es lag einfach am systemd-resolved.service, der entweder automatisch oder absichtlich gestoppt wurde. Nach dem Starten des Dienstes ist die Datei /run/systemd/resolv/stub-resolv.conf wieder da.
Antwort2
Ich beobachte das gleiche Problem unter Debian 9. Laut (man 8 systemd-resolved.service):
o A static file /usr/lib/systemd/resolv.conf is provided that lists the 127.0.0.53 DNS stub (see above) as only DNS server. This file may be symlinked from /etc/resolv.conf in order to connect all local clients that bypass local DNS APIs to systemd-resolved. This mode of operation is recommended.
Das ist nicht wahr, die Datei befindet sich tatsächlich unter: /lib/systemd/resolv.conf. Und dies ist eine einfache statische Datei, die auf den lokalen Stub-Server verweist, keine Suchdomänen usw.
Wenn Sie auf Debian 10 aktualisieren, wird die Version von systemd-resolved von 232 auf 241 verschoben. Dadurch wird die richtige Stub-Datei aktiviert: /run/systemd/resolve/stub-resolv.conf
Ich nehme an, Sie verwenden eine ähnliche systemd-aufgelöste Version wie unter Debian 9. Überprüfen Sie Ihren Man und suchen Sie Ihre resolv.conf-Dateien mit „find“.