在线工具集

DNS 深度指南:递归 / 权威 / DoH / DoT

DNS 是互联网最古老也最容易被忽视的基础设施之一。它把人类记得住的域名翻译成计算机能用的 IP 地址,几乎每个网络请求的第一步都依赖它。DNS 设计上分层、分布式、可缓存,但也因此成了审查与攻击的重灾区。本文系统讲解根 / TLD / 权威服务器层级、递归解析过程、DNSSEC、DoH、DoT、GFW 的 DNS 污染机制以及个人和企业的加密查询防护实战,帮你建立完整的 DNS 全景。

1. 域名层级与权威体系

互联网域名是一棵倒挂的树。最顶端是无名的根,对应一个隐含的点;根之下是顶级域 TLD,比如 com、net、org、cn、uk、io;TLD 之下是注册域,例如 example.com 中的 example;再下面是子域,由域名所有者自由划分,比如 www、mail、api、cdn。每一层都对应一组权威服务器,知道下一层在哪里。

根服务器一共 13 组(A 到 M),通过 anycast 在全球部署了上千个实例。它们只回答 TLD 在哪里。TLD 服务器由相应注册局运营,比如 .com 由 Verisign 维护,.cn 由 CNNIC 维护,它们只回答某个二级域的权威服务器在哪里。最终二级域的权威服务器才知道每条具体记录。

理解这个层级很关键:DNS 不是一个集中式数据库,而是一个全球协作的查找系统。每一层只负责自己的范围,缓存与委托关系串联出最终答案。

2. 递归解析器与迭代查询

当浏览器要访问 example.com,它先问操作系统,操作系统再问配置好的递归解析器(比如 ISP 的 DNS 或 8.8.8.8、1.1.1.1)。递归解析器接过任务,开始迭代查询:先问根服务器,根服务器告诉它去问 com 的 TLD 服务器;再问 TLD 服务器,TLD 服务器告诉它 example.com 的权威服务器是谁;最后问权威服务器,拿到 IP 地址,缓存并返回给客户端。

递归解析器一般会在第一次查询后缓存结果,时间由 TTL 决定。后续查询同一域名直接从缓存返回,省去整个递归过程。这就是 DNS 快的原因,也是为什么修改 DNS 后要等一段时间才生效。

不同递归解析器表现差异很大:8.8.8.8 在欧美延迟低、cache hit 高;1.1.1.1 注重隐私、号称不留日志、anycast 节点最广;114.114.114.114、阿里 223.5.5.5、腾讯 119.29.29.29 在中国大陆延迟低但可能受策略影响;一些地方运营商 DNS 还会做 HTTP 劫持注入广告。

3. DNS 记录类型与典型用法

最常见的记录类型是 A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件交换)、TXT(文本,常用于 SPF、DKIM、域名验证)、NS(权威服务器)、SOA(区域起点)、CAA(证书颁发授权)、SRV(服务发现)。每种记录都有 TTL、Class、TYPE、RDATA 等字段。

合理使用记录类型能让架构更稳健。比如把对外用域名设成 CNAME 指向 CDN 的统一入口,未来切换 CDN 时不必修改 A 记录;用 CAA 限制只有 Let's Encrypt 才能签发证书,防御误签或恶意签发;用 SPF/DKIM/DMARC 三件套阻止他人伪造你的域名发邮件。

如果你需要批量生成或转换地址数据,欢迎使用 CIDR 子网计算器JSON 格式化工具

4. DNSSEC:链式签名与防篡改

DNSSEC 给每条记录加上数字签名,签名公钥再被上一层签名,最终追溯到根的可信公钥。客户端验证签名通过即可确信记录未被篡改。这是抵御 DNS 缓存投毒和中间人篡改的标准方案。

DNSSEC 的部署门槛较高:需要权威服务器与递归解析器同时支持,密钥要定期轮换,签名增加报文长度容易触发 UDP 截断回退到 TCP。截至 2026 年,全球域名 DNSSEC 部署率约 15%,金融、政府、关键基础设施域较常见,普通商业站使用率较低。

DNSSEC 也不是万能的:它只防篡改,不防窃听;遇到 GFW 这种直接干扰式审查,签名能识别篡改但仍然拿不到答案。所以现代实践是 DNSSEC + DoH/DoT 组合,签名负责真实性,加密负责机密性与抗审查。

5. DoT 与 DoH:DNS 加密查询

传统 DNS 走 UDP/53 明文传输,途中任何一跳都能看你查了什么、甚至改答案。DoT(DNS over TLS)和 DoH(DNS over HTTPS)就是为解决这个问题而生。

DoT 用专用端口 853,TLS 加密 DNS 报文。优点是协议干净、容易识别和审计,企业内网容易统一配置策略;缺点是端口固定,被防火墙封锁也容易识别。

DoH 走 443 端口,与普通 HTTPS 流量混在一起,难以区分是网页还是 DNS。它对穿越限制网络、保护用户隐私非常有效,所以浏览器(Firefox、Chrome、Edge、Safari)都已原生支持。批评意见认为 DoH 让企业难以做内容过滤和威胁情报,因为 DNS 可见性下降。

部署方面:Cloudflare 1.1.1.1、Google 8.8.8.8、Quad9 9.9.9.9、阿里 223.5.5.5、AdGuard 都提供 DoH 入口。系统层面 macOS 14+、Windows 11 23H2+、iOS 14+、Android 9+ 都内置 DoH 配置。

6. GFW 的 DNS 污染机制

在中国大陆,GFW 对 DNS 的干扰是网络体验差的主要原因之一。机制大体有几类:基于关键字的 UDP 注入(看到包含被屏蔽域名的查询,就抢先返回伪造的 IP,让真实回包到达时已经晚了);TCP RST 阻断(识别到 53 端口 TCP DNS 即重置连接);对部分境外 DoT/DoH 服务器做 SNI 阻断或 IP 黑洞。

伪造的 IP 通常是固定列表,比如 4.36.66.178、8.7.198.45、46.82.174.68 等,浏览器访问会超时或证书错误。识别这些 IP 即可大致判断是否被污染,工具有 dig、nslookup、kdig、Wireshark 都能直接看到。

防护策略:使用 DoH/DoT 让查询无法被识别和注入;用 VPN 或代理时强制 DNS 走代理通道;自建支持 DoT 的递归解析器(如 Unbound、CoreDNS)并把上游设为 1.1.1.1 over TLS;浏览器开启 DNS over HTTPS 直连。

7. DNS 泄露与隐私防护

DNS 泄露是隐私防护中常被忽略的死角。即使流量走了 VPN,DNS 查询仍可能因为操作系统优先级、Split Tunneling、IPv6 fallback 而经过 ISP,使你的访问历史一目了然。

判断有没有泄露:访问 dnsleaktest.com、ipleak.net 等检测站点,看返回的 DNS 解析器是不是预期。修复方式:使用支持 DNS Leak Protection 的 VPN 客户端、在路由器上强制所有 53/853/443 DNS 流量走代理、关闭操作系统的 mDNS 与 LLMNR、为浏览器单独开启 DoH、用 firewall 阻止非加密 DNS 出站。

在企业场景,IT 团队可以反过来利用 DNS 集中管理:所有内部解析走 DoT 转发到自建递归服务器,结合威胁情报黑名单实现 DNS 防火墙,比传统包过滤更高效。可以配合 URL 编解码工具 来分析可疑链接的归属。

8. 部署最佳实践与排错思路

生产环境 DNS 部署建议:至少两家不同 DNS 服务商或网段做 NS 冗余,避免单点故障;TTL 根据业务定,A 记录可以 300 秒便于灰度切换,MX、TXT 可设 3600 以上;启用 DNSSEC 与 CAA;配置 DMARC 防止伪造邮件;为 CDN 设 CNAME 而非 A,便于切换。

故障排查的常用命令:dig +trace example.com 看完整递归过程、dig @8.8.8.8 example.com 比较不同解析器的回答、kdig +tls @1.1.1.1 example.com 测 DoT、nslookup -type=ANY 看完整记录、curl --doh-url https://1.1.1.1/dns-query 测 DoH。

最后提醒一点:DNS 是缓存系统,几乎所有怪问题都和缓存有关。改了记录但部分用户还看到旧值,多半是某层 TTL 没过期。先按 TTL 估时间窗口,再决定是否回滚或临时降低 TTL。

常见问题

递归解析器和权威服务器有什么不同?

递归解析器是替你跑腿的角色,接到客户端查询后会逐级问根、TLD、权威服务器,最终把结果带回来并缓存;权威服务器是某个域的真理之源,只回答自己负责区域的记录,不会替任何人转发查询。一般用户配置的 8.8.8.8、1.1.1.1 都是递归解析器,企业自建的 DNS 服务器既可以做递归也可以做权威。

DoH 与 DoT 哪个更值得用?

DoT 走专用 853 端口,对运维和审计更友好但容易被防火墙识别封锁;DoH 走 443 端口与普通 HTTPS 流量混在一起,更难被检测,也更适合个人用户穿透限制网络。Mac、Windows、iOS、Android 都已原生支持 DoH,普通用户首选 DoH,企业内网更偏好 DoT 以便统一策略。

DNSSEC 真的能防止 DNS 污染吗?

DNSSEC 通过链式签名让客户端验证记录真伪,理论上完全防篡改,但前提是从根到权威整条链路都已部署,并且客户端开启严格验证。现实中 DNSSEC 部署率仅约 15%,而且 GFW 这种 in-path 干扰可以直接阻断 DNS 数据包,使签名校验也无法完成。所以 DNSSEC 是必要而不充分的方案,必须配合 DoH/DoT 才有意义。

什么是 DNS 泄露,怎么防止?

DNS 泄露是指你以为流量走了 VPN 或代理,DNS 查询却仍然发到了 ISP 默认解析器,导致 ISP 仍能看到你访问了哪些域名。防护方法包括:在系统层面强制 DNS 走代理、使用 VPN 客户端的 DNS Leak Protection 选项、启用浏览器内置 DoH、配置防火墙拦截 53 端口出站流量。

在中国大陆使用公共 DNS 安全吗?

直接用 8.8.8.8、1.1.1.1 这类境外 53 端口在中国大陆经常被劫持或污染,部分被屏蔽域名会返回伪造 IP。更稳妥的做法是使用 1.1.1.1 / 9.9.9.9 / 阿里 223.5.5.5 等支持 DoH 的服务,并在系统中只信任 HTTPS 接口。注意不要把 DoH 当成翻墙工具,它只解决 DNS 污染,不解决 IP 层封锁。

相关工具