本页目录
VPN 已经连接,DNS 为什么还可能从本地问出去?问题未必出在加密被破解,而是查询域名和访问网页可能走了两条路。这篇先把普通 DNS 查询讲明白,再看代理规则如何介入,最后说哪些处理方式真正针对这条链路。
不急着贴配置。先知道问题在哪,下一篇DNS 检查与修复里的操作才不会变成只会复制的口诀。
1. 网络通讯与 DNS:域名要先找到地址
浏览器访问服务器时,需要目标网络地址;常见端点由 IP 与端口共同标识。域名方便人记忆,DNS 则帮助应用取得域名对应的地址信息,再建立实际连接。
一个网站可以有多个地址,地址也可能变化。DNS 不是把域名永久换成唯一一台主机,更不是看到网页出口就能倒推所有 DNS 查询从哪儿出去。
2. 标准查询:缓存、递归与权威回答
下面是一条便于理解的简化路径,缓存命中或不同解析设置可能让查询提前结束、换路或跳过家庭路由器。
浏览器/应用
↓ 本地缓存与名称解析设置
系统存根解析器
↓ 查询配置的 DNS(家庭路由器可能转发)
递归解析器
↓ 缓存未命中时按 DNS 层级查询
权威服务器 → 返回结果 → 缓存并交给应用
| 概念 | 作用 |
|---|---|
| 浏览器、系统缓存 | 复用尚未过期的结果,具体顺序随实现变化 |
hosts 等静态映射 | 本地名称解析配置,不是向外发出的 DNS 查询 |
| 存根解析器 | 将问题交给配置的递归解析服务 |
| 递归解析器 | 查询并组合结果,也会利用缓存 |
| 权威服务器 | 为对应区域提供权威 DNS 数据 |
| TTL | 记录可缓存的时间,不是服务器必然不变的期限 |
参考 DNS 术语定义,递归解析器可能自己查询根、顶级域与权威服务器,也可能转发给其他解析器,不是每一层都机械询问“更高一台服务器”。
查询中的源地址也要分清:本机发给路由器,路由器再转发,外部看到的可能是 NAT 后的出口;权威服务器通常看到递归解析器地址。不是所有节点都直接拿到用户的原始 IP,图中地址只用于解释角色。
3. 代理之下:为什么规则会先触发解析
假设一个带域名的请求进入代理工具,先经过规则判断。域名规则可以直接比较名称,但 IP-CIDR 或 GEOIP 等 IP 规则可能需要先取得目标 IP。
域名请求 → 代理规则
├─ 域名规则命中 → 指定策略
└─ 遇到需要 IP 的规则 → 可能先解析 → 再匹配
↓
未命中继续到后续/兜底
如果为了匹配规则而发出本地 DNS 查询,即使后面最终选了代理,该查询也已经发生。代理节点可能再在远端解析域名,但这不会取消此前的本地查询。
广告
错误解析还可能影响分流:取得错误地址后,若误命中某条 IP 规则,请求会走错路径,可能失败或出现证书错误。证书错误有多种原因,不能单凭它就判定 DNS 污染,更不能跳过警告继续访问。
4. 何时称为 DNS 泄露
先明确原计划保护哪类域名。如果希望它们只通过受保护路径解析,却先发给本地网络或其他不符合预期的解析服务,就出现了 DNS 路径的泄露风险。
传统明文 DNS 的内容可能被路径上的观察者看到,解析服务本身也会处理查询。HTTPS 保护后续网页通信,不能倒过来替此前走另一条路的查询加密。
检测页显示某地区的解析器,只说明该次测试观察到的解析出口,不自动证明原始 IP 已传给目标网站。浏览器、系统、其他应用可能各自使用不同解析方式;一次测试正常,也不能代表全设备一直正常。
5. 处理方向:减少不必要查询,核对实际路径
有两类问题值得分别处理:查询是否加密,以及是否走了计划中的路径。
| 做法 | 能帮助解决 | 不能单独保证 |
|---|---|---|
| DoT/DoH | 减少客户端到解析器之间的明文窃听或篡改 | 解析器看不到查询、全设备统一走代理 |
| 合理安排域名与 IP 规则 | 避免不必要的规则解析及错误分流 | 应用不会自行查询 DNS |
对支持的 IP 规则使用 no-resolve | 跳过为该规则匹配而触发的解析 | 设备零泄露、所有规则和连接都不解析 |
加密 DNS 的延迟与连接复用、缓存、解析器距离和网络有关,不能一概说一定慢。原理与协议边界见 DoT 标准和 DoH 标准。不同代理工具也要查自身支持,不能直接搬一款软件的参数。
下一步先记录网络、浏览器与代理模式,用 DNS 测试和请求记录核对实际路径,换应用、换网络再测。具体配置见DNS 修复实操。
感谢阅读。与其追求一份“隐私无敌配置”,不如先说清它保护哪个环节。欢迎分享你观察到的 DNS 与代理出口差异,讨论时遮好真实 IP、域名活动和私人网络信息。
广告



