我有一个老旧的路由器,当它用作 DNS 源时,在负载下会出现某种堆栈溢出问题。因此,我改为告诉我的机器使用本地 (Debian) dnmasq 服务器 1.0.0.1 作为备份。
当我在任何 Xubuntu 18.04 或 20.04beta 机器上执行某些操作时,我会查看 dmasq 日志文件,例如:
nslookup netbsd.org
我看到的是 dnmasq 一直在回答这些查询,最初是从其指定的 (Google) 名称服务器回答,随后是从其缓存回答。那么 .. 为什么后续查询不直接从 Xubuntu 机器上的 systemd 解析缓存中回答?
还有一个相关的问题……上述两台 Xubuntu 机器上都没有默认安装 libnss-resolve。我为什么要安装它?它似乎对 systemd-resolved 缓存行为没有任何影响。
答案1
问题似乎在于网络管理器调用dh客户端然后构造/etc/resolv.conf..
为了使 DNS 查找首先查看本地缓存,您需要编辑以下行:
#prepend domain-name-servers 127.0.0.1;
内容如下:
prepend domain-name-servers 127.0.0.53;
我仍然不知道为什么我可能想要安装libnss-resolve。 任何人?