我正在尝试为我的笔记本电脑构建一个简单的级联 DNS 解析算法:
- 查询 DHCP 提供的服务器
- 未找到/失败?查询 8.8.8.8 及其好友
- 未找到/失败?在 127.ABC 上查询本地 dnsmasq
目前,似乎只有在前一个服务器以某种方式失败时才请求下一个服务器,但如果它以空回复回复,则解析过程停止。
是否可以通过内核机制或 systemd-resolved 强制 Linux 驱动的机器以上述级联方式执行此操作?通过 dnsmasq 路由请求肯定是可能的(在第一个server=
指令中设置 systemd-resolved 以将查询转发到 DHCP 提供的服务器),但我更喜欢采用不那么混乱的方式,尽可能保持我的发行版完好无损。
不幸的是,这不是 DNS 的工作方式。唯一会查询其他服务器的时间是之前定义的服务器没有响应时。任何响应,即使该响应是 NXDOMAIN,也是响应。即使是 Query Denied 的响应也是响应......