DNS 解析与 DNS 泄漏说明
代理工具入门名词编辑部 · 更新于 2026-10-18
DNS 把域名解析为地址,默认走 53 端口且大多未加密。DNS 泄漏没有标准定义,通常指用了代理或 VPN,但 DNS 查询仍从本地网络直接发出;DoH、DoT 是两种加密 DNS。
一图看懂点任一步跳到对应小节
DNS 负责把域名解析成 IP 地址。「DNS 泄漏」是网络上的常用说法,标准文档里没有正式定义;通常指用了代理或 VPN,但 DNS 查询仍从本地网络直接发出。这是由几份标准拼合出来的理解,下面分开说明依据。
DNS 基本结构
展开详细说明
RFC 1035 写道:用户程序通过解析器(resolver)与域名空间交互,解析器及其缓存通常是操作系统的一部分,再由解析器去查询外部名称服务器。DNS 使用 TCP 与 UDP 的 53 端口,查询优先用 UDP。常见记录类型如 A(主机地址)、CNAME(别名的规范名)。
DNS 默认不加密
展开详细说明
RFC 9076 写道,几乎所有 DNS 流量当时仍是未加密发送的。加密方式有两种:
| 名称 | 标准 | 方式 |
|---|---|---|
| DoH | RFC 8484 | 通过 HTTPS 发送 DNS 查询,每对查询-响应对应一次 HTTP 交换 |
| DoT | RFC 7858 | 用 TLS 保护 DNS,服务端默认监听 TCP 853 端口 |
DNS 泄漏是怎么来的
展开详细说明
- SOCKS5 允许客户端直接把域名交给代理服务器,由服务端去解析;如果客户端先在本地解析,再把 IP 交给代理,那次查询就走了本地网络。见SOCKS5 介绍。
- DNS 默认未加密,本地网络上的查询内容可被看到。
两条合起来,就是常说的 DNS 泄漏。RFC 9076 在延伸阅读里引用了 Tor FAQ 中关于「SOCKS 与 DNS 信息泄漏」的条目,作为 DNS 隐私风险的背景资料。
代理工具里的相关设置
展开详细说明
这里只列设置项存在,不判断效果:mihomo 有 respect-rules(DNS 连接遵守路由规则)、nameserver-policy(按域名指定解析服务器);v2rayN 的 DNS 设置分直连 DNS、远程 DNS、Bootstrap DNS。哪个设置能防止 DNS 泄漏,官方没有说明。
mihomo 的 enhanced-mode 可选 fake-ip 或 redir-host,默认 redir-host。fake-ip 模式下给 App 返回的是 fake-ip-range 段里的地址(示例 198.18.0.1/16),但文档没有专门解释它的原理。规则如何选出口见分流规则说明。
常见问题
DNS 泄漏就是代理失效吗?
不一定。它说的是 DNS 查询从本地网络直接发出,不直接说明后续连接是否经过代理;解析和连接转发要分开看。这个词也没有标准定义。
DoH 和 DoT 有什么区别?
DoH(RFC 8484)把 DNS 查询放进 HTTPS 交换里,DoT(RFC 7858)用 TLS 保护 DNS,默认 TCP 853 端口。两者都是加密 DNS,封装方式不同。