很多人以为“开了代理就安全了”,其实不然:代理只接管了它声明接管的流量,DNS 查询和浏览器 WebRTC 可能还在走直连,真实 IP 和地理位置就这样漏出去。自查一次只要几分钟,建议每次换客户端、换网络环境后都做一次。

检测一:DNS 泄露#
连上代理后,打开本站的 DNS 检测工具,或者 ipleak.net、dnsleaktest.com 这类检测站,看它列出的 DNS 服务器归属:
- 没泄露:DNS 服务器 IP 归属和代理出口一致(比如代理出口在日本,DNS 服务器也在日本或你指定的 DoH 服务商)。
- 泄露了:DNS 服务器显示你本地运营商(比如国内宽带运营商),说明 DNS 查询走了直连,访问记录对运营商是可见的。
注意:检测时要保持代理开启状态,并且用规则模式测一次、全局模式再测一次。有些泄露只在规则模式下出现——因为规则模式下部分域名直连,DNS 也就跟着直连了。
检测二:WebRTC 泄露#
WebRTC 是浏览器实时通信用的技术,它可能绕过代理直接暴露你的真实 IP。打开本站的 WebRTC 检测工具,看它是否显示了你的真实 IP:
- 只显示代理出口 IP:正常。
- 同时显示一个本地运营商 IP:WebRTC 泄露了。
WebRTC 泄露只影响浏览器,不影响客户端全局代理。只在浏览器里上网的用户要重点查这一项。
修复方法:按泄露类型对症下药#
DNS 泄露的修复:
- 开 TUN 模式:让客户端接管全部流量(包括 DNS),这是最彻底的办法。TUN 模式的原理和设置见 Clash TUN 模式详解。
- 换 DoH / DoT:把客户端 DNS 改成可信的 DoH 服务,DNS 查询走加密通道,不再经过运营商。
- 关掉系统代理的“直连例外”:有些客户端默认把部分域名设为直连,检查直连列表里有没有不该直连的域名。
WebRTC 泄露的修复:
- 浏览器装 WebRTC 屏蔽扩展,禁止 WebRTC 暴露本地 IP。
- Firefox 可以在 about:config 里关掉 WebRTC;Chrome 系浏览器主要靠扩展控制。
- 如果只用客户端全局代理、不在浏览器里裸奔,WebRTC 泄露的影响本身就有限。
不同设备的注意点#
Mac 用户可以对照 新 Mac 三步堵住 DNS 泄露 检查系统级设置;iOS 用户看 小火箭 DNS 设置教程 里 DoH 的配置方法。安卓和 Windows 上思路相同:TUN + DoH 是通用解法。
如果自查发现“开了代理却完全没网”,那不是泄露问题,是通用连接问题,按 代理已连接却没网排查 8 步 处理。
小结#
自查就两步:DNS 检测看服务器归属、WebRTC 检测看真实 IP。修复就两招:TUN 接管全部流量、DoH 加密 DNS 查询。每次换网络、换客户端后花两分钟复查一次,比事后发现泄露再补救要省事得多。

