手册页systemd-resolved.service
说:
systemd-resolved
维护/run/systemd/resolve/stub-resolv.conf
文件以与传统的 Linux 程序兼容。该文件可能是从/etc/resolv.conf
. 此文件将 127.0.0.53 DNS 存根(见上文)列为唯一的 DNS 服务器。它还包含一个正在使用的搜索域列表systemd-resolved
。搜索域列表始终保持最新。
(强调我的。)“搜索域列表始终保持最新”似乎暗示该列表是从其他地方同步的,但没有说明在哪里。这个搜索域列表来自哪里?特别是,我该如何修改它?
在我的 18.04.3 系统上, man resolved.conf 说要修改 /etc/systemd/resolved.conf 文件的 Domains= 行。摘录如下:
完成此操作并重新启动 systemd-resolved 后,我的 /etc/resolv.conf 现在包含我希望的搜索域(因为我已在此 Ubuntu 服务器上配置了静态地址 - 它不会从 DHCP 获取任何内容)
搜索路径从 DHCP 更新。在我的路由器中,此设置称为“域名”。
为了更新搜索路径,我在路由器中设置了域,然后在我的 Ubuntu 机器上更新了 DHCP 租约(
service network-manager restart
或重新启动)。systemd-resolve --status
然后将此域显示为“DNS 域”,它将/run/systemd/resolve/stub-resolv.conf
作为search
指令显示。注意该
dig
命令默认不使用搜索列表/etc/resolv.conf
。添加+search
选项以启用此功能: