如何查询resolvconf数据库?

如何查询resolvconf数据库?

的描述解析配置文件在它的手册页中告诉我们:“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 发行版足够新,具有/runtmpfs 文件系统,则很可能会使用该目录/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-orderfile 表示该lo优先级高于其他任何内容,因此searchfromlo.inet行将始终指向真实的/etc/resolv.conf.如果我的 BIND 正在运行,它将用作本地名称服务器;但如果由于某种原因失败并且systemd无法重新启动,systemd配置中的依赖关系将导致lo.named被删除,然后nameserver 127.0.0.1/etc/resolv.conf 中的名称服务器将自动替换为 ISP 的名称服务器。

相关内容