DoH / DoT 加密 DNS:原理、差异与国内外免费公共服务推荐(2026)

分类: 365数字含义 时间: 2026-06-29 18:25:02 作者: admin 阅读: 6109
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:.alidns.com 或 '-自定义字段.alidns.com'

DoH:https://.alidns.com/dns-query 或 https://-自定义字段.alidns.com/dns-query

阿里云开发者文章也明确其遵循 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

相关推荐