抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

当网络设置中的 DNS1 不可用时,会使用 DNS2,当 DNS1恢复后, 多久后会重新使用 DNS1?

最近把树莓派的网络配置重置了一次,移除了之前的 Openwrt 内网策略,不再作为 DHCP 使用,只进行 DNS 过滤,但是偶尔树莓派需要进行重启,所以有了以上疑问。

但我检索相关内容时,搜索引擎并没给我一个合适的答案,毕竟 2024 ,搜索引擎不能的,OpenAI 也许能,即便可能算不了 1+1,以下为其回复(已简化):

当网络中的 DNS1(主 DNS 服务器)不可用时,系统会自动切换到 DNS2(备用 DNS 服务器)以保证域名解析的正常进行。当 DNS1 恢复可用后,系统是否和何时重新使用 DNS1,取决于操作系统和网络配置。

但这个依旧不是答案,因为有两个方案进行 DNS 配置:

1、路由自身对接网络的 DNS

2、路由所在局域网对其他设备的广播 DNS

那么先了解一下路由自身的逻辑,小米路由器系统是基于什么开发的?

小米路由器运行的系统是一个定制版的 OpenWrt,这是一种开源的路由器操作系统,基于 Linux 内核。

openwrt 默认的 DNS 服务器切换机制?

在 OpenWrt 中,DNS 服务器的切换机制是一个重要的功能,用于确保 DNS 查询的可靠性和性能。OpenWrt 默认使用 dnsmasq 作为 DNS 解析器,它有一定的机制来处理 DNS 服务器的切换。

最后得知:

dnsmasq 默认会对配置的多个 DNS 服务器进行负载均衡。具体来说,dnsmasq 会选择配置的 DNS 服务器之一来处理每个 DNS 查询请求。它不会基于时间间隔来轮换 DNS 服务器,而是依据请求分发顺序和响应情况来处理。

所以最后确定了思路,路由自身 DNS 依旧为正常 DNS 不进行更改,因为将路由指向树莓派,那么整个网络都将统一指向路由,不便于区分设备流量。

将局域网广播 DNS 的备用 DNS 改为路由器自身,主路由指向树莓派,同时给小米路由也配一套 HOST 解析, 树莓派重启后也不会因 DNS 切换影响访问重启后的树莓派服务。

在 Mac 下进行测试,直接关闭主 DNS ,进行 nslookup 命令查看,经过一段时间后启动 DNS 再进行 nslookup。最终结论不过是与 OpenAI 一致:即也许下一次请求就是用的恢复后的 DNS1

当然也许不同端的切换有不同效果,OpenAI 提及 Windows 可能是1~5分钟,而以移动端最偷懒逻辑考虑大概率都与基础 Linux/Unix 逻辑一致。


本站由以下主机服务商提供服务支持:

0条评论

发表评论