指南

DNS 泄漏与 WebRTC 泄漏:原理、自查与修复

cdnping · 2026-10-17

代理接管的是“连接”,但浏览器在建立连接之前和之外,还会做两件容易被忽略的事:查询域名,以及为实时通信探测自己的公网地址。泄漏就发生在这两处。

DNS 泄漏

访问 example.com 之前,系统要先问 DNS 服务器它的 IP。如果这一步发给了本地运营商的 DNS,那么:

如何自查:cdnping IP 检测会让浏览器解析几个随机子域名,再查询是哪些 DNS 服务器完成了解析。如果解析器所在国与出口 IP 所在国不同,就存在泄漏。

修复方向:在代理客户端中开启“远程 DNS”或 fake-ip 模式,让域名交给代理服务器解析;或在浏览器中启用 DNS over HTTPS,并确保 DoH 流量也走代理。

WebRTC 泄漏

WebRTC 是浏览器里视频通话、屏幕共享用的技术。为了打通网络,它会向 STUN 服务器发 UDP 请求,问“你看到我的地址是什么”。很多代理只处理 TCP,这个 UDP 请求就会直接从本地网络发出,STUN 返回的就是你的真实公网 IP——网页脚本可以直接读到。

如何自查:比较 WebRTC 得到的公网地址与网页请求的出口 IP。cdnping 的检测会同时显示两者。

修复方向:使用接管全部流量的 TUN / 虚拟网卡模式;或在浏览器中限制 WebRTC 的网络接口(Chrome 系可通过官方扩展 WebRTC Network Limiter,Firefox 可在 about:config 中设置 media.peerconnection.ice.default_address_only)。

局域网地址与 mDNS

现代浏览器默认把局域网地址替换成随机的 xxxx.local 主机名(mDNS),网页看不到 192.168.x.x 这类内网地址。如果检测结果直接显示了内网 IP,说明浏览器关闭了这项保护。

动手验证

读完不如亲自测一次。

检测 DNS 与 WebRTC 泄漏 →

继续阅读