我想开始systemd-resolved
在 Oracle Linux 7.6 上使用。
我想在/etc/resolv.conf
仅有符号链接/run/systemd/resolve/stub-resolv.conf
作为nameserver 127.0.0.53
内容的模式下使用它。
我已安装systemd-networkd
和systemd-resolved
软件包。我已启用相关服务,并且已禁用NetworkManager
和network
服务。
但是我的安装systemd-resolved
不包含此存根文件/run/systemd/resolve/stub-resolv.conf
。它仅包含/run/systemd/resolve/resolv.conf
。
你能告诉我我stub-resolv.conf
失踪的原因吗?
答案1
我在 Ubuntu 20.04 LTS 上多次遇到同样的问题,这只是因为 systemd-resolved.service 被自动或故意停止。启动服务后,文件 /run/systemd/resolv/stub-resolv.conf 文件又回来了。
答案2
我在 Debian 9 上观察到了同样的问题。根据(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.
事实上这不是真的,该文件位于:/lib/systemd/resolv.conf 这是一个普通的静态文件,指向本地存根服务器,没有搜索域等。
如果您升级到 Debian 10,systemd-resolved 的版本将从 232 移动到 241。这将启用正确的存根文件:/run/systemd/resolve/stub-resolv.conf
我猜你正在使用与 Debian 9 类似的 systemd-resolved 版本。检查你的 man 并使用 find 找到你的 resolv.conf 文件。