的描述解析配置文件在它的手册页中告诉我们:“resolvconf 包包含一个用于运行时名称服务器信息的简单数据库......”。
手册页中清楚的是如何添加或者消除信息到该数据库。
但,怎么查询呢?。
答案1
ls /etc/resolvconf/run/interface
将列出已添加到resolvconf
数据库的所有名称服务器信息。它们的名称通常会标识它们所关联的接口,也可能标识其他内容。
这些都是文本文件,实际上是/etc/resolv.conf
.因此您可以使用任何文本查看器实用程序查看它们。
例如,在我的家庭网关系统(Debian 9)上:
# ls /etc/resolvconf/run/interface/
eth2.dhclient eth2.ip6.dhclient lo.inet lo.named
(如果您的 Linux 发行版足够新,具有/run
tmpfs 文件系统,则很可能会使用该目录/run/resolvconf/interface
。)
eth2
是我的外部接口,通过 DHCP 获取其配置。我的 ISP 的 DHCP 服务器提供的默认域和 IPv4 DNS 服务器位于文件 中eth2.dhclient
。该文件eth2.ip6.dhclient
具有与 IPv6 相同的信息。lo.inet
包含我在本地设置的域行search
,它会覆盖 ISP 设置的默认域。由于我为我的私人家庭 DNS 域运行本地 BIND,一旦 BIND 启动,Debian 的systemd
配置将选择性地添加一行nameserver 127.0.0.1
作为lo.named
.
由于/etc/resolvconf/interface-order
file 表示该lo
优先级高于其他任何内容,因此search
fromlo.inet
行将始终指向真实的/etc/resolv.conf
.如果我的 BIND 正在运行,它将用作本地名称服务器;但如果由于某种原因失败并且systemd
无法重新启动,systemd
配置中的依赖关系将导致lo.named
被删除,然后nameserver 127.0.0.1
/etc/resolv.conf 中的名称服务器将自动替换为 ISP 的名称服务器。