DoH / DoT 加密 DNS:原理、差异与国内外免费公共服务推荐(2026)
先给结论(不想看原理就看这里)
你只想让浏览器更安全、别被 DNS 劫持:优先用 DoH(走 443,通常更“抗干扰”)。
你想让手机/系统全局走加密 DNS:优先用 DoT(走 853,Android 的“私人 DNS/Private DNS”就是它)。
你已经全程在用 VPN:DoH/DoT 的安全收益会变小(甚至变慢),是否开启更偏“个人偏好与稳定性选择”。
下面我会把 DoH/DoT 讲清楚,然后给你一份能直接复制的国内外端点清单。
1)为什么 DNS 仍然是“最容易被动手脚”的环节
传统 DNS(UDP/TCP 53)默认是明文。这意味着同一网络里的旁路设备、热点运营者、ISP,通常都能:
看到你查了什么域名(隐私暴露)
篡改解析结果(DNS 劫持/投毒/污染)
对 53 端口做定向干扰(稳定性变差,尤其在复杂网络环境)
HTTPS 解决的是“你访问的网站内容是否被窃听/篡改”,但 DNS 在 HTTPS 之前发生:
你得先解析出 IP,才能开始 TLS 握手。
所以只要 DNS 仍是明文,链路仍有一块很脆弱。
2)DoH 是什么?(DNS over HTTPS)
**DoH(DNS over HTTPS)**把 DNS 查询封装进 HTTPS 请求里,典型特征是:
默认走 443 端口
可用 HTTP/2、HTTP/3 承载
在流量形态上更接近普通 Web 请求
Cloudflare 的文档对 DoH 的描述很直接:DNS 查询/响应会被加密,并通过 HTTP/HTTP2/HTTP3 传输,使用 443,把 DNS “包在 HTTPS 里”。
DoH 的现实优势
兼容性好:很多网络都允许 443。
对抗粗暴干预更强:因为它更像普通 HTTPS。
浏览器支持更好:Chrome/Edge/Firefox 的“安全 DNS”通常就是 DoH。
DoH 的现实代价
对企业网络来说更难区分(策略管控角度不一定喜欢)。
“把信任交给谁”更关键:解析器本身仍可能记录(取决于服务商政策)。
3)DoT 是什么?(DNS over TLS)
**DoT(DNS over TLS)**是把 DNS 跑在 TLS 加密的 TCP 连接之上,典型特征是:
标准端口 853
更“专用”、更容易被网络设备识别和管理
Google 的 DoT 文档强调:DoT 通过 TLS 加密传统 DNS,并提供 strict(严格校验证书)与 opportunistic(尽力加密,失败回退明文)两种隐私配置模型。
DoT 的现实优势
系统级支持好:尤其 Android(Private DNS)。
网络治理更清晰:企业/校园网更容易做“允许/禁止/审计”。
DoT 的现实代价
853 更容易被封:在一些受限网络里,DoT 可能直接不通。
4)DoH vs DoT:差异一张表看懂
维度DoHDoT加密承载HTTPS(HTTP/1.1/2/3)TLS over TCP常用端口443853配置入口浏览器“安全 DNS”、系统 DoH(部分 OS)Android Private DNS、部分系统 DNS over TLS抗干扰能力(经验)更强中等(更易被封 853)便于网络策略管控较难更容易
实践里一个很常见的策略是:
能用 DoT 就用 DoT(系统级更干净)
DoT 不稳就回退到 DoH(443 更通用)
5)国内外常见“可免费使用”的 DoH / DoT 推荐清单
说明:这里优先列“公开可用、文档明确、常见且稳定”的公共解析器。不同服务商还会有拦截恶意/广告/成人内容等变体,我也会在备注里写出来。
国内
1)腾讯 DNSPod 公共递归解析(Public DNS)
DoH:https://doh.pub/dns-query
DoT:dot.pub(端口 853)
DNSPod 官方公告说明:从 2024-09-29 起,免费版 DoH/DoT 不再公开 IP 接入方式,建议统一使用上述域名接入,以便更稳定地控制访问流量。
2)阿里云 公网递归解析(公共 DNS)
阿里云公共 DNS 的 DoH/DoT 在官方文档里更偏“账号维度”配置(需要控制台的 Account ID,并且要手动打开 DoH/DoT 启用状态):
DoT:
DoH:https://
阿里云开发者文章也明确其遵循 RFC 8484(DoH)与 RFC 7858(DoT),并支持 TLS 1.2 / 1.3。
备注:阿里云文档里也提示这种 DoH/DoT 接入“不支持鉴权,不建议使用”,更适合懂得自己评估风险边界的用户/团队(例如需要统一观测和管控时)。
国外
1)Cloudflare 1.1.1.1
DoH(官方 Resolver):https://cloudflare-dns.com/dns-query
DoT(主机名):one.one.one.one(端口 853)
Cloudflare 的 DoH 文档强调:DoH 通过 HTTP/HTTP2/HTTP3 传输并使用 443;其 DoH API 文档也明确给出了 https://cloudflare-dns.com/dns-query 作为 resolver 地址。
2)Google Public DNS
DoH(RFC 8484):https://dns.google/dns-query(GET/POST)
DoT(主机名):dns.google(端口 853)
Google 同时提供一个更“应用层友好”的 JSON API(GET):
https://dns.google/resolve?
官方也给出了 DoH 的隐私建议:尽量减少 HTTP headers、使用 EDNS padding、以及在隐私敏感模式下考虑 RFC 8484 的 POST。
3)Quad9(安全/威胁拦截取向)
Quad9 在官方页面把 DoH/DoT 写得很清楚(并区分不同服务变体):
推荐(拦截恶意 + DNSSEC)
DoH:https://dns.quad9.net/dns-query
DoT:tls://dns.quad9.net(即 dns.quad9.net:853)
另有 ECS 版(dns11.quad9.net)与不拦截版(dns10.quad9.net)。
4)AdGuard Public DNS(内容拦截选项非常明确)
AdGuard 提供三套免费公共 DNS,并在官方页面列出了 DoH / DoT 端点:
DoH
默认(拦截广告/跟踪):https://dns.adguard-dns.com/dns-query
不拦截:https://unfiltered.adguard-dns.com/dns-query
家庭:https://family.adguard-dns.com/dns-query
DoT
默认:tls://dns.adguard-dns.com
不拦截:tls://unfiltered.adguard-dns.com
家庭:tls://family.adguard-dns.com
5)Mullvad Encrypted DNS(分级拦截 + 官方文档非常细)
Mullvad 的官方文档给出了多档内容拦截,并统一在 *.dns.mullvad.net 上提供 DoH/DoT:
DoH:https://dns.mullvad.net/dns-query
DoT:dns.mullvad.net(端口 853)
并有更多变体:adblock.dns.mullvad.net、base.dns.mullvad.net、extended.dns.mullvad.net、family.dns.mullvad.net、all.dns.mullvad.net。
Mullvad 还明确指出:该服务主要用于“未连接 Mullvad VPN 时”,如果你已经在用 VPN,再套一层通常更慢。
6)怎么配置最省事?(按设备给最短路径)
Android:优先 DoT(最省心)
Android 9+ 一般这样做:
设置 → 网络和互联网 → 私人 DNS / Private DNS
选择“私人 DNS 提供商主机名”
填入 DoT 主机名(例如 dot.pub / dns.google / one.one.one.one)
浏览器:DoH(模板 URL)
Chrome / Edge / Brave 一般在设置里开启“安全 DNS”,选择自定义 provider,然后填入 DoH URL(例如 https://dns.google/dns-query 或 https://cloudflare-dns.com/dns-query)。
提醒:浏览器 DoH 只影响浏览器内的解析,不等于系统全局。
7)如何验证是否真的生效?
方式 1:直接用服务商给的示例命令
例如 Cloudflare 的 DoT 文档提供了 kdig 的测试示例(展示 TLS 握手、证书链、延迟等)。
方式 2:用 DoH endpoint 做一次请求(更像“连通性测试”)
Cloudflare 的 DoH API 文档中给出了 curl 示例,并说明 DoH endpoint 支持 GET/POST,支持 application/dns-json 与 application/dns-message。
8)最后的提醒:加密 DNS ≠ 匿名
DoH/DoT 解决的是“DNS 查询在链路上被窥探/篡改”的问题,但它不会让你匿名:
目标站点的 IP 仍可见
解析服务商仍可能在服务器侧记录(取决于政策与实现)
所以它更像一种基础设施级别的安全加固:
把最脆弱的一段明文链路补齐。
参考资料(官方文档/公告)
Cloudflare DoH:https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/
Cloudflare DoH API(含 https://cloudflare-dns.com/dns-query):https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/
Cloudflare DoT:https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-tls/
Google Public DNS DoH:https://developers.google.com/speed/public-dns/docs/doh
Google Public DNS DoT:https://developers.google.com/speed/public-dns/docs/dns-over-tls
Quad9 服务地址(含 DoH/DoT):https://quad9.net/service/service-addresses-and-features/
DNSPod 公告(免费版 DoH/DoT 域名接入):https://docs.dnspod.cn/notices/mian-fei-ban-dot-dohbu-zai-gong-kai-ipjie-ru-de-gong-gao/
阿里云 公共DNS 接入配置(DoH/DoT 账号维度):https://help.aliyun.com/zh/dns/service-access
阿里云公共DNS安全传输介绍(DoH/DoT、TLS 1.2/1.3):https://developer.aliyun.com/article/757592
AdGuard Public DNS(DoH/DoT 地址清单):https://adguard-dns.io/en/public-dns.html
Mullvad 加密 DNS(端点、拦截档位、配置说明):https://mullvad.net/en/help/dns-over-https-and-dns-over-tls