🔍 什么是 DNS?
DNS(Domain Name System)是域名系统的缩写,它的作用是将人类可读的域名(如 google.com)转换为机器可读的 IP 地址(如 142.250.80.46)。
当你访问一个网站时,浏览器首先会向 DNS 服务器发送查询请求,获取目标服务器的 IP 地址。这个过程通常是你的网络请求的第一步。
⚠️ 什么是 DNS 泄漏?
DNS 泄漏是指即使你开启了代理软件,你的 DNS 查询请求仍然绕过代理,直接发送到本地网络运营商的 DNS 服务器的情况。
DNS 泄漏的危害
- 隐私暴露:你的 ISP 可以看到你访问了哪些网站
- 流量审查:可能被记录和审查特定网站的访问
- 地理信息:DNS 服务器可以推断出你的大致地理位置
- 代理失效:虽然你的 HTTP/HTTPS 流量走了代理,但 DNS 请求暴露了你的意图
🔧 DNS 泄漏的常见原因
- 浏览器使用了自有 DNS:Chrome/Firefox 有自己的 DNS over HTTPS 设置
- 系统级 DNS 设置:操作系统直接发送 DNS 请求
- IPv6 泄漏:IPv6 DNS 请求可能绕过代理
- TUN 模式未开启:普通代理模式无法拦截 DNS 流量
✅ Clash Verge 防 DNS 泄漏配置
方法一:使用 TUN 模式(推荐)
TUN 模式可以拦截系统级别的所有流量,包括 DNS 请求。这是防止 DNS 泄漏最有效的方法。
- 安装服务模式(设置 → 服务模式 → 安装)
- 开启 TUN 模式(设置 → TUN 模式 → 开启)
- 开启 DNS 劫持(设置 → TUN 模式 → DNS 劫持 → 开启)
💡 建议
开启 TUN 模式后,关闭浏览器中的 DNS over HTTPS(DoH)设置,以避免冲突。
方法二:配置 Clash Verge DNS 设置
在配置文件中正确设置 DNS:
dns:
enable: true
# 使用 fake-ip 模式,避免真实 DNS 查询
fake-ip-mode: fake-ip
# fake-ip 地址池
fake-ip-range: 198.18.0.1/16
# 过滤本地域名,不生成假 IP
fake-ip-filter:
- "*.lan"
- "*.local"
- "localhost.ptlogin2.qq.com"
# 国内域名使用国内 DNS
nameserver-policy:
'geosite:cn': [https://doh.pub/dns-query, https://dns.alidns.com/dns-query]
# 国外域名使用安全 DNS
default-nameserver:
- https://doh.pub/dns-query
- https://1.1.1.1/dns-query
🌐 推荐的安全 DNS 服务器
| DNS 服务 | 地址 | 特点 |
|---|---|---|
| 腾讯 DNS | https://doh.pub/dns-query | 国内,兼容性好 |
| 阿里 DNS | https://dns.alidns.com/dns-query | 国内,节点多 |
| Cloudflare | https://1.1.1.1/dns-query | 全球,快速 |
| https://dns.google/dns-query | 全球,权威 |
🛡️ 完整的防泄漏配置
# 完整 DNS 配置示例
dns:
enable: true
listen: 0.0.0.0:53
ipv6: false # 建议关闭 IPv6
# fake-ip 模式
fake-ip-range: 198.18.0.1/15
# 不解析这些域名
fake-ip-filter:
- "*.lan"
- "*.local"
- localhost.*
- *.srv.nintendo.net
- *.stun.playstation.net
- *.xbox-live.com
- *.msftncsi.com
- *.msftconnecttest.com
# 国内外域名分流解析
nameserver-policy:
'geosite:cn': [https://doh.pub/dns-query, https://dns.alidns.com/dns-query]
# 默认 DNS 服务器
default-nameserver:
- https://doh.pub/dns-query
- https://1.1.1.1/dns-query
🔎 如何测试 DNS 泄漏?
- 开启 Clash Verge,确保代理已连接
- 访问 DNS 泄漏测试网站(如 https://dnsleaktest.com)
- 运行扩展测试(Extended Test)
- 检查返回的 DNS 服务器列表
⚠️ 正常结果
如果所有 DNS 服务器都来自你的代理服务提供商(如香港、美国等),说明没有 DNS 泄漏。如果出现中国运营商的 DNS 服务器,说明存在泄漏。
📌 总结
防止 DNS 泄漏的关键步骤:
- 开启 TUN 模式:最有效的防泄漏方案
- 使用 fake-ip:避免真实 DNS 查询
- 关闭 IPv6:防止 IPv6 DNS 泄漏
- 关闭浏览器 DoH:避免浏览器自有 DNS
- 定期测试:使用 dnsleaktest.com 检查
做好以上配置,你的网络隐私将得到有效保护。