DNS 泄露是什么意思?
一句话结论
本该交给代理出口去解析的域名查询,实际被发给了本地网络的解析器。
即使网页内容走了代理,查询了哪些域名仍可能被本地解析器看到,也可能得到与出口地区不匹配的解析结果。它和流量是否走代理是两回事,需要单独检测。
打开网页之前,设备要先问一次“这个域名在哪”。这次询问和随后的网页流量是两条独立的路。DNS 泄露说的就是:网页流量进了代理,询问却走了老路,直接发给了本地网络里的解析器。
泄露了什么,又没泄露什么
| 被看到的内容 | 是否受影响 |
|---|---|
| 你查询过哪些域名 | 可能被本地解析器看到 |
| 网页里的具体内容 | 不受这一条影响,取决于是否加密 |
| 你的出口地址 | 与 DNS 无关,另有检测 |
另外,用本地解析器得到的地址去判断分流,有时会让国内外网站走错路,这类问题在 开了梯子后国内网站变慢 里也出现过。
在哪里会看到它
- 各类 DNS 检测页:它们列出你当前使用的解析器,与预期对不上就是信号。
- 客户端日志里,域名查询并没有经过内核。
- 开启 TUN 后,系统 DNS 没有被内核接管。
检测页入口收在 IP 与 DNS 检测导航 里。想了解 DNS 的基本工作流程,可以读 Cloudflare 的 DNS 介绍。
常见误解
- 看到本地运营商的解析器就一定出了问题。 如果你本来就设置了某些域名直连解析,这是预期结果,要先确定自己的目标。
- 只改浏览器设置就够了。 浏览器之外的程序仍走系统 DNS。
- WebRTC 泄露是同一件事。 它暴露的是真实 IP,路径不同,见 WebRTC。
怎么判断与处理
先不开代理做一次检测当基准,再开启后复测,对照两次的解析器。是否异常取决于你的预期。具体做法与修复思路见 DNS 泄露怎么解决,内核一侧的字段怎么配见 Clash DNS 设置详解。