$ 发布 2026-07-06 | ~10分钟阅读
语境: 翻墙不等于安全。本文全面讲解科学上网中的 DNS 泄露、WebRTC 泄露、浏览器指纹追踪等隐私风险,以及对应的防护方案,帮你真正实现安全匿名上网。

科学上网安全与隐私保护指南:DNS 泄露、WebRTC 泄露与浏览器指纹防护


输出
延迟估计 ~366 ms 置信度 ~0.91

很多人以为开了代理就万事大吉——流量加密了,IP 隐藏了,GFW 突破了。但事实上,你的 DNS 请求可能在走本地直连,你的浏览器可能通过 WebRTC 暴露真实 IP,你的浏览器指纹可能让你在全网被追踪。

翻墙只是第一步,安全才是关键。本文全面讲解科学上网中常见的隐私泄露风险和防护方案。

一、DNS 泄露:最常见也最容易被忽视

什么是 DNS 泄露?

当你访问一个网站时,浏览器需要通过 DNS 查询将域名解析为 IP 地址。如果你的代理软件没有正确处理 DNS 请求,这些查询可能直接通过你的本地网络发出,暴露你正在访问哪些网站。

简单来说:你翻了墙,但你访问了什么网站,ISP 看得一清二楚。

如何检测 DNS 泄露?

方法一:在线检测工具

判断标准

  • 如果检测结果显示的 DNS 服务器位于你所在的国家/地区(如中国),说明存在 DNS 泄露
  • 如果 DNS 服务器位于代理节点所在的国家/地区,说明 DNS 已正确走代理

DNS 泄露的常见原因

  1. 系统 DNS 未走代理:浏览器使用系统 DNS,而系统 DNS 走的是本地网络
  2. IPv6 DNS 泄露:代理软件只处理了 IPv4,IPv6 的 DNS 请求直连发出
  3. HTTP/3 (QUIC) 泄露:部分浏览器通过 QUIC 协议直接发出 DNS 请求,绕过代理
  4. 分流规则导致:代理规则将国内域名直连,但 DNS 查询也走了直连

如何防止 DNS 泄露?

方案一:开启代理软件的 DNS 远程解析

大多数代理客户端都支持远程 DNS 解析,确保 DNS 查询通过代理隧道发出:

Clash / Mihomo:

dns:
  enable: true
  listen: 0.0.0.0:1053
  enhanced-mode: fake-ip
  nameserver:
    - https://dns.google/dns-query
    - https://1.1.1.1/dns-query
  fallback:
    - https://dns.google/dns-query
    - tls://8.8.8.8:853

Sing-box:

{
  "dns": {
    "servers": [
      { "tag": "remote", "address": "https://dns.google/dns-query" },
      { "tag": "local", "address": "https://dns.alidns.com/dns-query" }
    ],
    "rules": [
      { "domain_suffix": [".cn"], "server": "local" },
      { "query_type": ["A", "AAAA"], "server": "remote" }
    ]
  }
}

方案二:使用 fake-ip 模式

fake-ip 模式是 Clash/Mihomo 提供的 DNS 处理方式,它返回一个虚拟 IP 给客户端,实际的 DNS 解析在代理服务端完成,从根本上杜绝 DNS 泄露。

方案三:禁用 IPv6

如果你的代理不支持 IPv6,禁用系统 IPv6 可以防止 IPv6 DNS 泄露:

macOS:

# 查看当前 IPv6 状态
networksetup -getinfo Wi-Fi

# 禁用 IPv6
networksetup -setv6off Wi-Fi

Windows:

# 以管理员身份运行
netsh interface ipv6 set state disabled

方案四:使用加密 DNS (DoH/DoT)

将系统 DNS 改为加密 DNS,防止 ISP 窥探:

  • Cloudflarehttps://1.1.1.1/dns-query
  • Googlehttps://dns.google/dns-query
  • 阿里 DNShttps://dns.alidns.com/dns-query

更多加密 DNS 服务器可参考:国内外知名免费公共 DoT/DoH 加密 DNS 服务器

二、WebRTC 泄露:浏览器中的后门

什么是 WebRTC 泄露?

WebRTC(Web Real-Time Communication)是浏览器内置的实时通信技术,用于视频通话、屏幕共享等功能。问题是,WebRTC 会直接获取你的本地 IP 地址,即使你开了代理。

这意味着:你的真实 IP 可能通过 WebRTC 被网站获取,代理形同虚设。

如何检测 WebRTC 泄露?

访问以下网站检测:

如果检测结果中出现了你的真实公网 IP内网 IP(如 192.168.x.x),说明存在 WebRTC 泄露。

如何防止 WebRTC 泄露?

方案一:浏览器扩展

安装 WebRTC 控制扩展:

  • Chrome/EdgeWebRTC Leak Prevent
  • Firefox:在 about:config 中设置 media.peerconnection.enabled = false
  • Safari:开发菜单 → WebRTC 限制 → 关闭 ICE 候选

方案二:代理软件处理

部分代理客户端可以处理 WebRTC 流量:

Clash / Mihomo:

# 在 TUN 模式下,WebRTC 流量会被代理处理
tun:
  enable: true
  stack: system
  dns-hijack:
    - any:53

方案三:禁用 WebRTC(不推荐)

完全禁用 WebRTC 会导致部分网页应用(如 Google Meet、Discord 网页版)无法使用,仅在必要时采用。

什么是浏览器指纹?

浏览器指纹是通过收集浏览器的各种属性(屏幕分辨率、字体、插件、Canvas 渲染特征等)生成的唯一标识。即使用户清除 Cookie、使用隐身模式,指纹依然不变。

研究表明,仅靠 Canvas 指纹就能识别超过 99% 的用户。

指纹类型

类型原理可变性
Canvas 指纹不同设备渲染 Canvas 有细微差异
WebGL 指纹GPU 信息和渲染差异
字体指纹安装的字体列表
音频指纹音频处理差异
硬件指纹CPU/GPU/内存信息
行为指纹鼠标轨迹、打字节奏

如何防护浏览器指纹?

方案一:使用反指纹浏览器

  • Mullvad Browser:Tor 项目和 Mullvad 合作开发,不走 Tor 网络但有反指纹保护
  • Brave Browser:内置指纹随机化功能
  • LibreWolf:Firefox 的隐私增强分支

方案二:浏览器扩展

  • CanvasBlocker(Firefox):阻断 Canvas 指纹采集
  • Trace(Chrome):综合反指纹扩展
  • User-Agent Switcher:随机化 UA 字符串

方案三:隐私设置调整

  1. 禁用第三方 Cookie:浏览器设置 → 隐私 → 阻止第三方 Cookie
  2. 启用「请勿追踪」:虽然效果有限,但聊胜于无
  3. 定期清除浏览数据:Cookie、缓存、本地存储
  4. 禁用不必要的插件:每个插件都会增加指纹独特性

四、流量指纹:GFW 的终极武器

什么是流量指纹?

GFW 不仅仅通过 IP 和域名封锁网站,还能通过分析流量特征(包大小、时间间隔、协议特征)来识别代理流量。即使你使用了加密代理,流量模式本身也可能暴露你在翻墙。

防护策略

  1. 使用 Reality 协议:目前抗流量分析能力最强的协议,详见代理协议详解
  2. 使用 TLS 伪装协议:Trojan、VLESS+XTLS 等协议将流量伪装为正常 HTTPS
  3. 开启多路复用:减少连接数量,降低特征
  4. 避免大流量下载:持续高流量容易被标记为异常
  5. 使用 CDN 中转:通过 Cloudflare 等 CDN 隐藏真实服务器 IP

五、综合安全检查清单

将以下清单逐项对照,确保你的科学上网配置是安全的:

DNS 安全

  • 代理软件已开启远程 DNS 解析
  • 使用 fake-ip 模式或 DoH/DoT 加密 DNS
  • 已禁用或正确处理 IPv6 DNS
  • DNS Leak Test 检测通过

WebRTC 安全

  • WebRTC 泄露检测通过
  • 已安装 WebRTC 控制扩展或禁用 WebRTC
  • 使用 TUN 模式让 WebRTC 走代理

浏览器隐私

  • 使用反指纹浏览器或安装反指纹扩展
  • 禁用第三方 Cookie
  • 定期清除浏览数据
  • 最小化安装浏览器插件

账号安全

  • 翻墙账号与日常账号分离
  • 使用不同密码,启用两步验证
  • 不在免费节点上登录重要账号
  • 使用隐私搜索引擎(DuckDuckGo、Startpage)

系统安全

  • 关闭系统自动代理检测
  • 检查系统代理设置是否正确
  • 确保 kill switch(断网保护)已开启
  • 定期更新代理软件和系统

六、推荐安全配置组合

安全级别DNSWebRTC浏览器代理协议
基础代理远程解析扩展控制Chrome + 隐身模式任意
中级fake-ip + DoH禁用 WebRTCBraveVLESS/Trojan
高级fake-ip + DoH + IPv6 禁用TUN 模式Mullvad BrowserReality

延伸阅读


📅 更新时间:2026年7月6日 💬 互动:你遇到过 DNS 泄露或 WebRTC 泄露吗?是怎么解决的?欢迎评论区分享。

2.0k 词 · 2.7k 令牌