我的“stub-resolve.conf”在哪里?

我的“stub-resolve.conf”在哪里?

我想开始systemd-resolved在 Oracle Linux 7.6 上使用。

我想在/etc/resolv.conf仅有符号链接/run/systemd/resolve/stub-resolv.conf作为nameserver 127.0.0.53内容的模式下使用它。

我已安装systemd-networkdsystemd-resolved软件包。我已启用相关服务,并且已禁用NetworkManagernetwork服务。

但是我的安装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 文件。

相关内容