本文目录
先回答“有没有泄露”:看公网出口,不看一个绿色提示
Clash 不会自动保证所有应用、DNS、WebRTC 和 IPv6 都经过同一出口。要判断是否泄露,需要分别记录开启代理前后的公网 IPv4、IPv6、DNS 服务器和 WebRTC 候选。
看到 192.168.x.x 这类私有地址,并不能说明真实公网 IP 已经暴露。真正要处理的是代理开启后仍出现本地运营商的公网地址。
不要混为一谈
| 检测项 | 它回答的问题 | 异常才是什么 |
|---|---|---|
| 公网 IPv4 | 网站看到哪个出口 | 开启代理后仍是明确的本地运营商出口 |
| 公网 IPv6 | IPv6 是否走同一接管方式 | IPv4 走节点、IPv6 仍从本地直出 |
| DNS 服务器 | 查询可能由谁完成 | 与配置不符并导致域名绕开预期规则 |
| WebRTC 候选地址 | 浏览器为实时通信发现了什么地址 | 出现不符合预期的真实公网出口;192.168/10.x 本身不是公网泄露 |
直连、系统代理、TUN 各测一次
检测页本身不是结论,前后两次结果才有意义。使用同一个浏览器、同一个网络和同一检测页,只改变 Clash 的接管方式,并把四项结果并排保存。
可比较的测试
完全退出代理记录直连
保存 IPv4、IPv6、DNS 和 WebRTC 四项,不只截一个绿色结果。
开启系统代理
新建无痕窗口再次检测,确认浏览器请求的出口变化。
需要时开启 TUN
仍用同一网络和节点测试,观察 IPv6 与不读取系统代理的应用。
每次都看连接页
检测域名出现、规则和出站一致,结果才与当前 Clash 配置相关。
只有 Chrome 的 DNS 结果不同,检查安全 DNS
Chrome 在“设置 → 隐私和安全 → 安全性”里可以单独启用安全 DNS;Firefox 的 DNS over HTTPS 位于隐私设置。浏览器启用独立 DoH 后,查询可能不再经过系统 DNS,Clash 的系统代理又未必接管这条解析请求。
短时间关闭浏览器 DoH,完全退出并重开浏览器。如果 DNS 结果回到 Clash 预期入口,原因已经确定;随后可以选择继续由浏览器处理,或者统一交给 Mihomo,重点是不要在三处同时覆盖。
WebRTC 显示 192.168.x.x 时,先确认它是不是私有地址
WebRTC 为语音、视频和点对点通信收集候选地址。现代浏览器可能把本地地址隐藏成 mDNS 名称,也可能显示私有网段;这些信息能说明局域网环境,却不能从互联网直接路由到你的电脑。
真正需要处理的是代理开启后仍出现本地运营商的公网 IPv4 或 IPv6。完全禁用 WebRTC 会让网页会议和屏幕共享失效,优先使用浏览器的地址限制选项,并在 Zoom、Meet 或 Slack Huddle 里重新验证功能。
IPv4 正常、IPv6 直出时,再决定接管还是关闭
系统代理通常处理应用明确交给代理的请求,不保证所有 IPv6 连接都被接管。TUN 是否处理 IPv6 又取决于客户端版本、路由和配置。先确认业务是否需要 IPv6;不能接管时,临时关闭 IPv6 做对照比在规则末尾盲目 REJECT 更能说明原因。
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
# 若明确需要 IPv6,应改为让当前 TUN 与规则完整接管,
# 而不是长期依赖 ipv6: false。按不一致的那一项修,不追求四栏同一个地区
DNS 服务器和出口节点不在同一地区并不一定异常,WebRTC 出现私有地址也不代表发生泄露。确认某一项仍暴露不该出现的公网出口后,再针对该项处理。
公网 IPv4 仍是本地出口
浏览器请求没有进入代理,查系统代理、扩展或规则命中。
IPv4 是节点,IPv6 是本地出口
查 TUN 的 IPv6 路由;不需要 IPv6 时可按系统方式禁用做对照。
只有 DNS 与预期不同
查浏览器 DoH、系统 DNS 与 Mihomo DNS 谁在实际处理。
只显示局域网私有地址
先确认是否还有真实公网候选,不要把私有地址直接判为泄露。
