VPN 是否安全,不能只看客户端有没有显示“已连接”。真正需要确认的是:DNS 请求有没有绕过隧道、浏览器的 WebRTC 有没有暴露真实网络信息、断线后流量会不会回到普通网络,以及当前使用的协议和客户端是否可信。本文从 DNS 泄漏的原理讲起,带你完成一次可复现的自查,再分别说明 Windows、macOS、Android、iOS 和 Clash Verge、sing-box、Shadowrocket 等常见环境的修复思路。
DNS 泄漏到底是什么
DNS 可以理解为互联网的“电话簿”。当你输入一个域名时,设备需要先向 DNS 解析器询问对应的 IP 地址,然后再建立连接。开启 VPN 后,很多人以为所有请求都会自动进入加密隧道,但实际情况取决于客户端的路由规则、系统设置、协议实现和 DNS 配置。
如果网页访问流量走了 VPN,而 DNS 查询仍然交给本地运营商、路由器或公共网络提供的解析器,就形成了 DNS 泄漏。此时,DNS 服务商可能看到你查询过哪些域名,网站也可能根据解析来源判断你的实际网络环境。它不一定意味着网页内容已经被直接读取,但会让“所有请求都经过 VPN”这个前提不成立。
常见成因主要有四类:
- 系统 DNS 优先级发生变化:VPN 连接建立后,系统仍优先使用原来的网卡 DNS,虚拟网卡没有获得足够高的优先级。
- 客户端只代理 TCP:部分配置把网页连接送进隧道,却没有接管 UDP 或系统解析请求。
- 分流规则过于宽松:规则模式下,DNS 被误判为直连流量,或者配置文件中存在绕过代理的解析规则。
- IPv6 处理不完整:VPN 只接管 IPv4,而系统仍通过本地网络发出 IPv6 DNS 请求。
因此,看到 VPN 客户端显示已连接,只能说明隧道建立成功,不能单独证明 DNS、IPv6 和浏览器实时通信都没有泄漏。检测时应当分别检查多个项目,而不是只运行一次测速。
100+
覆盖国家
180+
线路数量
30 天
无理由退款
不限
同时在线设备
如何检测 DNS、IPv6 与 WebRTC 泄漏
检测前先固定变量:关闭其他代理软件,确认只有一个 VPN 或兼容客户端在运行,并记录当前网络是家庭宽带、移动热点还是公共 WiFi。然后在未连接 VPN 和已连接 VPN 两种状态下分别测试。重点不是比较某个网站显示的数字,而是观察解析服务商、IP 地址和网络归属是否发生了符合预期的变化。
第一步:检查 DNS 解析来源
- 先断开 VPN,打开 DNS 泄漏检测页面,记录检测到的解析服务商和地区信息。
- 连接 VPN,等待客户端状态稳定后刷新检测页面,不要只打开旧页面查看缓存结果。
- 观察检测结果中的解析服务器。如果仍然显示本地运营商或本地网络提供商,需要继续排查。
- 切换一条不同地区的线路再次测试。如果线路改变后 DNS 结果完全不变,说明客户端可能没有接管 DNS,或者检测页面被浏览器缓存影响。
- 清理浏览器 DNS 缓存后重新检测,同时确认系统的安全 DNS、浏览器代理和客户端 DNS 设置没有互相覆盖。
本站的IP 检测页面可以用来核对出口 IP,但 IP 检测不能代替 DNS 泄漏检测。一个页面显示了 VPN 出口 IP,并不代表浏览器没有通过其他解析通道发送 DNS 请求。
第二步:检查 WebRTC 暴露信息
WebRTC 是浏览器用于实时音视频通信的一组技术。它可能为了建立点对点连接而收集网络接口信息,在某些浏览器和配置下,页面脚本可以看到本地地址、候选地址或其他连接线索。WebRTC 泄漏和 DNS 泄漏不是同一问题,所以需要单独检查。
可以打开浏览器的 WebRTC 检测页面,观察页面展示的地址是否包含真实网络接口、内网地址或与 VPN 出口不一致的公网地址。企业视频会议、网页电话和在线协作工具可能依赖 WebRTC,直接完全禁用未必适合所有人。更稳妥的做法是关闭非必要的 IP 暴露能力,或使用浏览器提供的隐私选项,并在需要实时通信时按站点权限放行。
系统与客户端的修复方法
修复 DNS 泄漏应当从“谁负责解析”入手。正常情况下,要么由 VPN 客户端通过隧道接管 DNS,要么由兼容客户端的 DNS 模块统一处理,不能让系统网卡、浏览器安全 DNS 和代理软件各自决定。不同平台的界面名称不完全相同,但排查逻辑一致。
| 环境 | 优先检查 | 建议处理 |
|---|---|---|
| Windows | 虚拟网卡优先级、IPv6、系统 DNS 缓存 | 启用客户端 DNS 接管,关闭冲突代理,重连后清理缓存 |
| macOS | 网络服务顺序、系统 DNS、浏览器安全 DNS | 确认 VPN 服务位于有效连接路径,避免手动 DNS 覆盖客户端设置 |
| Android | 私人 DNS、始终开启 VPN、断线阻止 | 检查私人 DNS 是否与客户端冲突,启用断线保护 |
| iOS | VPN 配置、按需连接、浏览器扩展 | 删除重复配置,确认系统显示的 VPN 为当前使用的配置 |
| Clash Verge | DNS 模式、增强模式、规则分流 | 确认 DNS 请求由配置文件处理,避免绕过代理的规则覆盖 |
| sing-box | DNS server、路由规则、FakeIP 或独立解析流 | 检查 DNS 出站是否与路由策略一致,避免直连解析 |
| Shadowrocket | 全局路由、DNS 设置、代理组 | 确认 DNS 不被系统或其他配置接管,切换模式后重新检测 |
在 Windows 和 macOS 上,最常见的错误是手动填写了一个固定 DNS,然后又让 VPN 客户端尝试接管 DNS。两套设置发生竞争时,系统可能在不同网络下选择不同解析器。建议先恢复自动获取,再只启用客户端明确支持的 DNS 方案,修改后断开并重新连接。
Android 的“私人 DNS”属于系统级设置,可能使用 DoT 加密 DNS,但“加密”不等于“经过 VPN”。如果私人 DNS 直接连接解析服务商,而 VPN 客户端没有接管这条连接,仍然可能出现路径不符合预期的情况。iOS 则要特别留意多个 VPN 配置、内容拦截器和浏览器扩展同时工作的问题。
如果使用 Clash Verge、sing-box 或 Shadowrocket,导入订阅后不要只看节点是否能打开网页,还要检查 DNS 模式、路由规则和 TUN 状态。TUN 模式通常能够接管更多系统流量,但它不代表所有应用都一定按同一规则解析。涉及 FakeIP、IPv6、分流和远程 DNS 时,应以当前配置文件的实际行为为准。
断线保护与协议选择怎么配
DNS 泄漏之外,另一个容易忽略的问题是 VPN 断线瞬间的流量回落。网络抖动时,系统可能自动恢复普通路由,浏览器继续加载页面,用户却没有察觉。断线保护的作用是:隧道不可用时暂时阻止网络连接,等 VPN 恢复后再放行。它不是加速功能,但对隐私边界非常重要。
- ✅ 在官方客户端中开启“断线保护”“网络锁”或含义相同的选项
- ✅ 在移动设备上检查“始终开启 VPN”和“阻止未使用 VPN 的连接”等系统开关
- ✅ 使用 TUN 的兼容客户端时,确认退出客户端后 TUN 是否会自动关闭并恢复预期网络
- ❌ 不要同时运行两个 VPN、两个 TUN 客户端或多个会修改系统 DNS 的工具
- ❌ 不要把浏览器代理、系统代理和客户端代理分别设置成互不相关的出口
协议选择也会影响稳定性和排查难度。WireGuard 结构简洁、性能较好,适合官方客户端和支持标准配置的环境;OpenVPN 生态成熟,兼容性广,但配置项较多。Shadowsocks 更偏向轻量代理,常见于订阅型客户端;VMess 属于 V2Ray 体系,Trojan 通常基于 TLS 传输;Hysteria2 使用 QUIC/UDP,在部分弱网环境下表现不错,但 UDP 可能受到网络策略影响。
没有哪个协议能自动解决所有 DNS 问题。协议只负责建立传输通道,DNS 是否进入通道,仍取决于客户端的 DNS 接管方式和路由规则。使用订阅链接导入 Clash Verge、sing-box 或 Shadowrocket 后,建议先选择一个稳定配置完成 DNS 检测,再逐项修改协议、规则和 DNS 参数,这样更容易定位问题。
公共 WiFi 下的实用防护清单
公共 WiFi 的风险不只来自 DNS。网络名称可能被仿冒,认证页面可能被注入,设备也可能接收到来自同一局域网的扫描。VPN 可以减少部分流量暴露,但不能替代设备本身的安全设置,更不能把不可信网络自动变成可信网络。
- ✅ 连接公共 WiFi 前先确认热点名称和认证方式,尽量避免连接没有密码的陌生热点
- ✅ 连接后先启动 VPN,再打开邮箱、云盘和后台管理页面
- ✅ 开启断线保护,避免 VPN 掉线后应用悄悄恢复普通连接
- ✅ 使用 HTTPS 网站,并检查浏览器地址栏和证书提示是否正常
- ✅ 关闭系统的文件共享、局域网发现和不必要的投屏功能
- ❌ 不要在公共 WiFi 中保存陌生网络的自动连接权限
- ❌ 不要因为 VPN 已连接,就忽略账号多因素认证和设备锁屏
如果公共网络需要网页认证,可能会出现“VPN 已连接但无法弹出登录页”的情况。这通常是因为认证页面需要先进行本地直连,而断线保护或全局路由阻止了认证请求。可以先暂时断开 VPN 完成网络认证,再立即重新连接并检查 DNS;完成后不要长期保持未加密的普通连接。
常见问题解答
DNS 泄漏是不是代表 VPN 完全没有加密?
不一定。DNS 泄漏说明部分域名解析请求没有按照预期经过 VPN,网页主体流量仍可能在隧道中传输。但这已经破坏了完整的隐私边界,尤其是域名查询记录可能暴露访问习惯,因此应当及时修复。
把 DNS 改成公共解析器就能解决问题吗?
不能保证。更换 DNS 服务商只能改变“交给谁解析”,不能保证请求经过 VPN。正确做法是先确认客户端是否接管 DNS,再检查系统、浏览器和 IPv6 是否存在绕行路径。
使用 Clash Verge 或 sing-box,一定不会 DNS 泄漏吗?
不一定。兼容客户端提供了更细的 DNS 和路由控制,但配置错误同样会导致直连解析。重点检查 DNS 出站、规则优先级、TUN 状态、IPv6 和 FakeIP 等设置,并在修改后重新检测。
检测结果显示多个 DNS 服务器,是不是一定有问题?
不一定。一个服务可能使用多个解析服务器,检测页面也可能因为 IPv4、IPv6 或并发请求显示多个结果。关键是这些服务器是否符合当前 VPN 的预期出口,以及断开和连接 VPN 后结果是否出现合理变化。
最后的自查顺序
排查 VPN 隐私问题时,建议按照“连接状态、DNS、WebRTC、IPv6、断线保护、应用分流”的顺序进行。每次只修改一个设置,修改后重新连接并测试,避免同时更换协议、节点、浏览器和 DNS,最后无法判断到底是哪一项起作用。
如果你刚开始使用 VPN,可以先参考本站的使用教程完成官方客户端或订阅链接导入,再进行 DNS 和 WebRTC 检查。选择服务时,也应关注协议是否透明、客户端是否支持常见平台、线路是否有清晰分类,以及出现问题后是否有明确的退款规则。以 39VPN 为例,支持 Windows、macOS、iOS、Android 和 Linux,同时可通过兼容客户端导入订阅,提供支付宝、微信和 USDT 支付,并支持无需邮箱地址注册。