← 全部文章

技术与生活 / 一篇记录

一条 DNS 请求,在路由器里转圈了

本机 DNS 被代理服务接管后,再把上游指回同一入口会让请求反复转发。

代理分流和本机 DNS 转发同时启用时,地址相同不一定代表服务相同,端口与重定向规则同样关键。如果最后一个上游又回到入口,就无法得到真正答案。

从一个例子看起

排查时先记录客户端与网络条件;涉及 IPv6、代理或 NAT 时,需要分别观察每一跳。

客户端 -> 路由器 -> 分流 DNS -> 独立上游

画出每一跳的地址和端口,确认链路最终到达外部解析器。

排查时再往前走一步

把 53 端口、分流监听端口与外部解析器逐一写出来。分别直接查询每一层,找到开始超时的位置,再调整上游关系,避免靠增加并发上限掩盖环路。

链路设计中还应检查节点域名解析是否依赖代理本身。如果代理必须先解析节点才能启动,却又把节点查询送入尚未可用的代理,就会形成另一种启动依赖循环。

客户端用路由器地址很正常,问题在于上游链路再次返回自身。

参考:网络 文档。

搜索文章

输入关键词,找回一篇记录。