↓ 跳过正文
  1. 文章/
  2. 2025 年文章归档/

DNS 泄露是什么?检测与修复指南

·1536 字·4 分钟
作者
吾便宜

事情要从今年年中的一个晚上说起。我帮朋友排查"开了代理但某些网站还是打不开"的问题,常规操作都走了一遍:换节点、换协议、重启客户端,全都没用。最后随手打开一个 DNS 泄露检测网站,返回的结果让我愣住了——显示的 DNS 服务器是他本地宽带的,根本不是节点那边的。

代理开着,流量却"裸奔"了一半。这就是 DNS 泄露。

DNS 泄露是怎么发生的

你访问一个网站时,第一步是 DNS 查询:把域名翻译成 IP 地址。理想情况下,这个查询应该走代理隧道。但很多客户端默认配置下,DNS 查询会走系统默认通道,直接发给本地运营商。结果就是:你的浏览流量走了代理,但"查了哪些网站"这份清单,明明白白躺在本地网络手里。

几种常见诱因:客户端没开启"接管 DNS"选项、系统里手动设置过 114 之类的国内 DNS、浏览器开了"安全 DNS"却指向国内服务商。

怎么检测自己有没有泄露

很简单,打开任意一个 DNS 泄露检测网站(搜"dns leak test"一抓一大把),连上代理后点检测。如果返回的 DNS 服务器 IP 和你节点所在地对不上,比如节点在美国、DNS 却显示国内运营商,那就是泄露了。建议多测两次,换不同节点确认。

各客户端的修复思路

原理相通:让 DNS 查询也走代理。具体操作因客户端而异:

用 Clash / Mihomo 内核的客户端,检查配置文件里 DNS 部分是否启用, nameserver 建议用国外的公共 DNS,并开启 fake-ip 模式。之前写过一篇 Clash Meta 内核科普,里面提到的 Meta 内核在 DNS 分流上做得更细,值得一看。

v2rayNG 用户可以在设置里找到 DNS 相关选项,把远程 DNS 改成 1.1.1.1 或 8.8.8.8,同时确认路由规则没有把 DNS 流量直连。进阶的路由玩法可以参考 v2rayNG 进阶玩法:路由规则与分应用代理。

DNS 查询路径示意
*插图来源:[Storyset](https://storyset.com/)*

桌面端开了 TUN 模式的用户相对省心,因为 TUN 会接管全部流量,DNS 自然也被收编。具体可以看 TUN 模式科普。但注意:TUN 开了不代表万事大吉,浏览器自带的"安全 DNS"如果指向国内地址,依然可能绕过隧道,建议改成 Cloudflare 或 Google 的 DoH。

修复后的验证

改完设置别急着收工,重新跑一遍泄露检测,确认返回的 DNS 服务器和节点地区一致。另外推荐开个无痕窗口测,避免缓存干扰结果。

手机端的特别提醒

手机上更容易中招。安卓的 v2rayNG、iOS 的 Shadowrocket 都要在设置里确认 DNS 接管已开启。另外,手机浏览器(尤其是 Chrome)的"安全 DNS"功能如果开着,可能会绕过代理的 DNS 设置,建议统一改成手动指定的 DoH 地址,或者直接关闭让代理接管。

还有一个隐蔽的坑:部分国产手机的"智能网络加速"“双通道加速"功能,会在后台用直连通道补发请求,DNS 查询可能就从这里漏出去。如果你开了这类系统功能又查出泄露,先关掉它们再测一次。

别忘了 IPv6

很多人只查 IPv4 的 DNS,忽略了 IPv6。如果你的网络支持 IPv6,而代理只接管了 IPv4 流量,DNS 查询可能从 IPv6 通道漏出去。检测网站一般会同时显示两种结果,都确认干净才算过关。如果客户端不支持 IPv6 分流,最简单的办法是在系统里暂时禁用 IPv6,简单粗暴但有效。

定期检查清单

把 DNS 泄露检测加入你的日常维护:每次更换客户端、重装系统、更新订阅后都测一次;出差、换网络环境后也建议测一次。检测本身只要一分钟,但能帮你堵住一个"毫无感知"的隐私漏洞。

写在最后

DNS 泄露的可怕之处在于它毫无感知:代理图标亮着、IP 查询也显示国外,但你的上网记录一直在"裸奔”。把它加入你的定期检查清单,每次换客户端或重装系统后都测一次。协议层面想再深挖的,可以看看 Hysteria 协议详解,理解不同协议处理流量的方式差异。

相关文章

Passkey 通行密钥入门

·1018 字·3 分钟
这两年登录网站时,你可能见过"使用通行密钥登录"的选项,点一下,刷个脸或按个指纹就进去了,不用输密码也不用等短信。这就是 Passkey(通行密钥)。它不是什么小众新玩具,苹果、谷歌、微软几家已经推了几年,主流网站跟进得越来越多,值得你现在就了解一下。

Streisand 使用教程:iOS 多协议客户端

·1428 字·3 分钟
iOS 上的代理客户端是个老大难:App Store 审核严、好用的没几个、每个都有点小毛病。我最后长期留在手机里的是 Streisand——支持的协议全,VLESS、VMess、Trojan、Shadowsocks、Hysteria2 通吃。但它也不是开箱即用的,我踩的坑足够写篇教程了。

FoXray 教程:macOS 新贵客户端

·1534 字·4 分钟
Q:FoXray 是什么?macOS 上不是已经有 Clash 系客户端了吗? A:FoXray 是一款 macOS 原生的代理客户端,基于 Xray 内核。和 Clash 系最大的区别在于:Clash 系是规则分流+多协议的"瑞士军刀",FoXray 则更专注、更轻量,原生 macOS 界面,内存占用小,对 VLESS、VMess、Trojan、Shadowsocks 等 Xray 支持的协议开箱即用。如果你用 Mac 且不需要 Clash 那套复杂的规则脚本,FoXray 是个清爽的选择。

AI 工具地区限制绕过:IP 选择指南

·1631 字·4 分钟
“我朋友在美国能正常用,怎么我一登录就提示所在地区不可用?"——这个问题我被问过不下二十次。答案不在账号,而在 IP。AI 服务的地区限制,几乎全是靠 IP 判定的。这篇把判定逻辑掰开,教你选 IP。