DNS: 最后一战

/ dousha

终于让我逮到你了!

省流:记得设置路由器的系统时间。

刚刚上期我们和神秘路由器缠斗出了一些结果,但终究只是临时方案。毕竟,电脑可以指定 DNS 解析器,别的设备想要做这个操作就显著地困难或者干脆不可能。(说的就是你,Quest 头显!)

在我把电脑的 DNS 重新指向路由器之后,我发现它又开始没法上网了。我实在是不想再继续折腾 dnsmasq 和单臂路由了,毕竟当初花重金买了这台华硕路由器就是图一个省心,真要这么继续改下去那我不如把工控机改成骨干路由接进来,那样还更好搞怪东西。

但问题总得是要解决。登录路由器后台后,我先手动指定了 WAN 口所使用的 DNS 服务器,当然是没啥卵用——神秘工具本身会启动一个 dnsmasq 实例,并将路由器的上游 DNS 指向这个实例。

然后是看日志。日志的内容没发现什么问题,但是日志的时间戳很不对:它是 2018 年的时间戳。


这个 dnsmasq 实例自然是有配置 DoH 的。这个 DoH 请求视情况会走阿里 DNS 或者 Cloudflare DNS. 而 DoH, DNS over HTTPS, 是依赖于 TLS 加密的。

TLS 加密需要用到系统时间来校验证书是否有效。如果你的系统时间距离现实时间太远,那么你收到的证书看起来就是「到遥远的未来才会生效」或者「在遥远的过去就已经过期」的无效状态。

这就使得任何 DoH 请求都会直接失败。反应到下游就是 DNS 查询失败。


华硕路由器设置系统时间的方法很奇怪:你只能通过指定一个 NTP 服务器的方式来让路由器通过网络同步时间,不能手动调整。除此之外,你还需要启动「网络监控」功能才能启动时间同步过程。

登录路由器后台,进入「系统管理」页 - 「系统设置」选项卡 - 「基本设置」栏,按以下方案执行配置:

pVAcfGq.png

保存即可。

正在加载评论……

发表评论

您的评论将由管理员审核后方可公开显示。

Your comments will be submitted to a human moderator and will only be shown publicly after approval.