网上讲 DoH / DoT 的文章,大多是同一份地址清单的反复搬运:罗列十几个服务商的 IPv4、IPv6、DoH 地址、DoT 域名,… 全文依次覆盖:先纠正一个几乎人人填错的地?、测量方法与环境(可复现)、测量中踩到的三个坑(很关键,会直接毁掉数据)、DoH 延迟、DoT 延迟,以及一个反直觉的结论、为什么国内网站不该用境外 DoH(实测证据)、可直接复制的地址清单(已…
网上讲 DoH / DoT 的文章,大多是同一份地址清单的反复搬运:罗列十几个服务商的 IPv4、IPv6、DoH 地址、DoT 域名,看完你只知道「有哪些」,不知道「该用哪个」,更不知道「填进去到底能不能通」。
这篇不搬运。我把 13 家公共加密 DNS 放到两个真实网络里跑了一遍——一台腾讯云机房的服务器,一条家庭宽带——测端口通不通、测延迟多少、测各家解析出来的 IP 是不是同一个。测完之后发现三件现有教程基本没讲清楚的事:
- 腾讯 DNSPod 的
119.29.29.29根本不提供 DoH/DoT,它的 443 和 853 端口是关的。无数教程让你把这个 IP 和https://doh.pub/dns-query写在一起使用,其实两回事。 - 同样一条查询,DoH 比 DoT 快 2~3 倍(首次查询口径)。这和「DoT 更轻量所以更快」的直觉相反。
- 用境外 DoH 解析国内网站,拿到的是海外节点 IP。实测
www.taobao.com,国内三家给183.36.18.x,Cloudflare 给155.102.176.x,Google 给163.181.60.x——完全不是一组地址。
下面是完整的测量过程和数据,方法写清楚了,你可以自己复现,也可以照着结论直接抄配置。
一、先纠正一个几乎人人填错的地址
几乎所有 DoH 教程都会这么写:「腾讯 DNSPod,IP:119.29.29.29,DoH:https://doh.pub/dns-query」。于是很多人就把这两行当成一个东西,甚至在路由器里把上游填成 https://119.29.29.29/dns-query。
我逐端口测了 DNSPod 的三个 IP,结果如下(腾讯云机房与家庭宽带两个网络交叉验证,结论一致):
| 服务商 / IP | 明文 DNS(53) | DoH(443) | DoT(853) | 说明 |
|---|---|---|---|---|
阿里 AliDNS 223.5.5.5 |
通 | 通 | 通 | 三种协议全能,最省心 |
阿里 AliDNS 备 223.6.6.6 |
通 | 通 | 通 | 同上 |
腾讯 DNSPod 119.29.29.29 |
通 | 不通 | 不通 | 只做明文 DNS |
腾讯 DNSPod 1.12.12.12 |
不通 | 通 | 通 | 加密专用节点 |
腾讯 DNSPod 120.53.53.53 |
不通 | 通 | — | 加密备用节点 |
百度 DNS 180.76.76.76 |
通 | 不通 | 不通 | 没有可用的 DoH/DoT |
114 DNS 114.114.114.114 |
通 | 不通 | 不通 | 同上 |
结论:要用 DNSPod 的加密 DNS,请填域名 doh.pub / dot.pub(让它自己解析到 1.12.12.12 这类加密节点),或者显式指定 1.12.12.12、120.53.53.53。把 119.29.29.29 当 DoH 服务器填,一定连不上。
顺带一提:百度 DNS 和 114 DNS 虽然名气很大,但实测它们没有对外可用的 DoH/DoT 服务(443 端口在两个网络里都不通)。这两家只适合继续当明文 DNS 用。
二、测量方法与环境(可复现)
为了让数据站得住,方法全部公开:
- 查询内容:统一查询
www.baidu.com的 A 记录,构造标准 DNS 报文,不带缓存预热。 - DoH:RFC 8484 规定的 GET 形式,
?dns=<base64url 编码的 DNS 报文>,请求头accept: application/dns-message。 - DoT:853 端口建 TLS,先收 2 字节长度前缀再收满报文体,不是简单
recv()一次。 - 采样:每家测 3~7 次取中位数,不是单次值。
- 口径:DoH 用「首字节时间」(含 TCP + TLS + HTTP 全流程);DoT 用「TLS 握手完成时间 + 查询往返时间」,两者相加才是首次查询的真实总耗时,这样才和 DoH 可比。
- 时间:2026-10-06。
测量中踩到的三个坑(很关键,会直接毁掉数据)
这几个坑不处理,测出来的数全是假的。我一开始也中招了:
- 本地 53 端口被透明劫持。我往
1.2.3.4、203.0.113.9这种根本不是 DNS 服务器的 IP 发 DNS 查询,居然也收到了 74 字节的应答。说明本机所在网络把 53 端口的流量接管了。于是明文 DNS 的延迟全是 1~2ms 的假数据——那是本地网关在代答,不是上游的真实延迟。所以本文不给出明文 DNS 的延迟对比。(腾讯云机房同一测试无应答,说明机房侧没有劫持。) - curl 默认会走系统代理。第一次测出来 Cloudflare 675ms、AdGuard 902ms,看着很像回事,但翻
curl -v的日志才发现请求全走了127.0.0.1上的本地 HTTP 代理,连百度、114 的「失败」其实也是代理返回的 502,不是人家服务挂了。加上--noproxy '*'之后才是直连真实数据。 - DoT 的应答是分包的。服务端先发 2 字节的长度前缀,再发报文体。如果只
recv()一次,你只会拿到 2 个字节,然后误判成「这家 DoT 不可用」——我一开始就是这么把阿里 DoT 判死的,实际它一直是通的。
三、实测结果:DoH 延迟
单位毫秒,「首字节」= 从发起请求到收到第一个字节响应,包含 TCP 建连、TLS 握手、HTTP 往返的全过程。
| 服务商 | DoH 地址 | 腾讯云机房 | 家庭宽带 |
|---|---|---|---|
| 阿里 AliDNS 备 | https://dns.alidns.com/dns-query(223.6.6.6) |
34.2 | 37.7 |
| 阿里 AliDNS | https://dns.alidns.com/dns-query(223.5.5.5) |
32.3 | 39.2 |
| 腾讯 DNSPod | https://doh.pub/dns-query(1.12.12.12) |
39.8 | 81.3 |
| 360 安全 DNS | https://doh.360.cn/dns-query |
92.6 | 106.5 |
| Cloudflare | https://cloudflare-dns.com/dns-query |
不通 | 651.3 |
| Google DNS | https://dns.google/dns-query |
不通 | 701.2 |
| DNS.SB | https://doh.dns.sb/dns-query |
不通 | 709.7 |
| AdGuard DNS | https://dns.adguard-dns.com/dns-query |
不通 | 897.3 |
| Quad9 | https://dns.quad9.net/dns-query |
不通 | 不通(HTTP 505) |
| 百度 DNS / 114 DNS / CNNIC | — | 不通 | 不通 |
两个视角的差异本身就是结论:在纯净的国内机房网络里,境外 DoH 一个都连不上;在家庭宽带里能连上,但延迟是国内服务的 10~25 倍。把 651ms 花在每次域名解析上,打开一个网页要多等几十个 651ms。
四、实测结果:DoT 延迟,以及一个反直觉的结论
| 服务商 | DoT 域名 | 腾讯云机房(握手+查询=总计) | 家庭宽带(握手+查询=总计) |
|---|---|---|---|
| 阿里 AliDNS 备 | dns.alidns.com(223.6.6.6) |
28 + 55 = 83 | 49 + 60 = 109 |
| 阿里 AliDNS | dns.alidns.com(223.5.5.5) |
31 + 58 = 89 | 49 + 61 = 110 |
| 360 安全 DNS | dot.360.cn |
74 + 102 = 176 | 91 + 101 = 192 |
| Cloudflare | one.one.one.one |
不通(连接被重置) | 503 + 163 = 666 |
| Google DNS | dns.google |
不通 | 501 + 164 = 665 |
| Quad9 | dns.quad9.net |
不通 | 504 + 165 = 669 |
| DNS.SB | dot.sb |
不通 | 529 + 173 = 702 |
| AdGuard DNS | dns.adguard-dns.com |
不通 | 658 + 239 = 897 |
| 腾讯 DNSPod | dot.pub(119.29.29.29) |
不通 | 不通 |
反直觉的地方:把两张表并排看,同一家服务商,DoH 的首次查询总耗时普遍只有 DoT 的三分之一左右(阿里:DoH 32ms vs DoT 89ms;360:DoH 93ms vs DoT 176ms)。原因不是协议本身,而是端口待遇不同:443 是互联网上被优化得最好的端口,CDN、运营商、防火墙都对它友好;853 相对冷门,路径上更容易被限速或排队。
那 DoT 是不是就没用了?不是,要看谁在用:
- 浏览器、手机系统这类「问一次就走」的场景 —— 每次都是冷启动,DoH 更快,而且 443 端口在咖啡厅、酒店、公司网络里被放行概率远高于 853。选 DoH。
- MosDNS、AdGuard Home、SmartDNS 这类常驻程序 —— 它们会保持长连接复用,DoT 握手那 30~50ms 只在启动时付一次,之后每条查询只有查询往返的开销,而且 DoT 没有 HTTP 层的额外开销。选 DoT,或者两者都配上做备份。
- 要绕过网络对 853 的封锁 —— DoH 混在普通 HTTPS 流量里,特征更弱。选 DoH。
五、为什么国内网站不该用境外 DoH(实测证据)
这一节是「不要无脑用 1.1.1.1」的实证,不是猜测。同一时刻向各家查询同一组域名,返回的 A 记录如下:
| 查询域名 | 阿里 / DNSPod / 360 | Cloudflare / AdGuard | |
|---|---|---|---|
www.taobao.com |
183.36.18.63 / .64 | 155.102.176.107 / .108 | 163.181.60.253 / .254 |
www.qq.com |
121.14.77.201 / .221 | 43.159.109.55 | 43.159.109.55 |
www.997wan.com |
106.52.82.143 | 106.52.82.143 | 106.52.82.143 |
看 www.taobao.com 这一行:国内三家给的是 183.36.18.x(国内节点),境外三家给的是 155.102.176.x 和 163.181.60.x(海外节点)。这是因为境外递归 DNS 没有向权威服务器传递你的来源网段(ECS),权威服务器只能按「查询来自海外」来调度,于是把海外节点给了你。
结果是:你在国内,访问淘宝却被指向海外节点,慢是正常的,不通也不意外。www.qq.com 同理,境外拿到的是 43.159.109.55 这条海外地址。
一句话选型:主要上国内网站 → 用国内 DoH/DoT(阿里或 DNSPod);有境外访问需求 → 让代理软件在隧道内自己解析,或者用支持分流的自建方案,不要把全设备的 DNS 直接指向 1.1.1.1 或 8.8.8.8。
六、可直接复制的地址清单(已按实测标注)
下面只列实测可用或官方明确提供、且端口分工清楚的服务。「通」指本文两个网络中至少一个能连通。
国内
阿里 AliDNS(本文实测综合最优:53/443/853 全通,延迟最低)
- IPv4:
223.5.5.5/223.6.6.6 - IPv6:
2400:3200::1/2400:3200:baba::1 - DoH:
https://dns.alidns.com/dns-query - DoT:
dns.alidns.com - HTTP/3 DoH:
h3://dns.alidns.com/dns-query
腾讯 DNSPod(注意加密节点与明文节点是分开的)
- 明文 DNS:
119.29.29.29/182.254.116.116 - 加密专用节点:
1.12.12.12/120.53.53.53 - DoH:
https://doh.pub/dns-query - DoH(国密):
https://sm2.doh.pub/dns-query - DoT:
dot.pub
360 安全 DNS(实测可用,但延迟约为阿里的 2~3 倍)
- DoH:
https://doh.360.cn/dns-query - DoT:
dot.360.cn
境外(国内直连基本不可用,仅在代理环境下有意义)
- Cloudflare:DoH
https://cloudflare-dns.com/dns-query;DoTone.one.one.one;IPv41.1.1.1/1.0.0.1 - Google:DoH
https://dns.google/dns-query;DoTdns.google;IPv48.8.8.8/8.8.4.4 - Quad9:DoH
https://dns.quad9.net/dns-query;DoTdns.quad9.net;IPv49.9.9.9 - AdGuard DNS:DoH
https://dns.adguard-dns.com/dns-query;DoTdns.adguard-dns.com;IPv494.140.14.14 - DNS.SB:DoH
https://doh.dns.sb/dns-query;DoTdot.sb;IPv4185.222.222.222
注意 AdGuard 的加密域名是 dns.adguard-dns.com(带 -dns),不少教程写成 dns.adguard.com,那是错的。
七、配置片段
浏览器(最省事,只对本浏览器生效)
Chrome / Edge:设置 → 隐私和安全 → 安全 → 使用安全 DNS,选「自定义」填入 https://dns.alidns.com/dns-query。
Firefox:设置 → 网络设置 → 启用基于 HTTPS 的 DNS,填同一个地址。
Windows 11 / 10(系统级 DoH)
设置 → 网络和 Internet → 以太网/Wi-Fi → DNS 服务器分配 → 编辑
首选 DNS:223.5.5.5
DNS 加密:仅加密(DoH)
改完记得清缓存再验证:
ipconfig /flushdns
OpenWrt / iStoreOS
在 DHCP/DNS 或 MosDNS / SmartDNS 的上游里填:
# MosDNS 上游示例(forward 插件)
- addr: "https://dns.alidns.com/dns-query"
- addr: "tls://dns.alidns.com"
enable_pipeline: true
SmartDNS
server-https https://dns.alidns.com/dns-query -no-check-certificate
server-tls dns.alidns.com
AdGuard Home
https://dns.alidns.com/dns-query
tls://dns.alidns.com
Android / iOS
Android 9+:设置 → 网络和互联网 → 私人 DNS,填 dns.alidns.com(这是 DoT,不是 DoH)。
iOS:系统设置里不能直接填,需要装描述文件或用支持 DoH 的 App。
八、怎么验证真的生效了
很多人配完以为生效了,其实流量还是走明文 53。三个自查办法:
- 看本地 53 端口有没有被接管。往一个不可能提供 DNS 的 IP 发查询,如果也收到应答,说明你的网络在劫持 53,你配的加密 DNS 可能被旁路了:
nslookup www.baidu.com 1.2.3.4
正常情况下这条命令应该超时;如果秒回,说明 53 端口被代答了。
- 测端口通不通。先确认你填的那台服务器的 443 或 853 真的活着:
curl -o /dev/null -s -w "%{http_code}" ^
--resolve dns.alidns.com:443:223.5.5.5 ^
-H "accept: application/dns-message" ^
"https://dns.alidns.com/dns-query?dns=AAABAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB"
返回 200 就是通的。
- 看解析出来的 IP 对不对。用第五节的方法对比:如果国内网站解析出了海外 IP,说明你的 DNS 出口在境外。
如果你在本机测出来境外 DoH 的延迟异常地低(比如 1.1.1.1 只要几毫秒),先怀疑本地代理:curl 默认会读系统代理环境变量。加上 --noproxy '*' 再测一次,差别通常会让你吃惊。
九、自建:想要完全可控就自己搭
公共 DNS 再怎么说,查询记录也在别人手里。想彻底可控,在自家内网或 VPS 上搭一台:
- MosDNS:
https://github.com/IrineSistiana/mosdns—— 规则分流能力最强,适合有国内外分流需求的场景。 - EasyMosdns:
https://github.com/pmkol/easymosdns—— 简化 MosDNS 部署的辅助脚本,几分钟能起一台支持 ECS 的服务器。 - AdGuard Home:
https://github.com/AdguardTeam/AdGuardHome—— 带 Web 界面和拦截规则,上手最快。
自建之后再统一把设备 DNS 指向它,比每台设备各配一个公共 DoH 要干净得多,也便于集中看日志。
十、结论:按你的情况直接选
| 你的情况 | 建议 |
|---|---|
| 只想防运营商劫持、主要上国内网站 | 阿里 DoH https://dns.alidns.com/dns-query,或 DNSPod https://doh.pub/dns-query |
| 路由器 / 常驻程序做上游 | 阿里 DoT dns.alidns.com(长连接复用,握手只付一次) |
| 要过滤广告和跟踪 | AdGuard DNS,但注意它在国内延迟接近 900ms,只建议在代理环境或自建方案里用 |
| 有境外访问需求 | 让代理软件处理境外解析;全设备统一国内 DoH,不要直接指向 1.1.1.1 / 8.8.8.8 |
| 想完全可控、不留查询记录给别人 | 自建 MosDNS / AdGuard Home,上游再指向国内 DoT |
| 只是想给浏览器单独换个 DNS | Chrome / Edge 的「使用安全 DNS」,填阿里的 DoH 地址,30 秒搞定 |
本文的数据来自 2026-10-06 在腾讯云机房与家庭宽带两个网络的实测,方法已在第二节公开,你可以照着复现。服务商的端口和延迟会变,我会定期重测更新;如果你测出不一样的结果,欢迎在评论区把你的网络环境和数据一起贴出来。
相关阅读:如果你只是想快速抄地址,可以看整理好的清单版:国内外常用 DoH/DoT 服务汇总(含 IPv4/IPv6 与接入地址)。
- 文章名称:DoH/DoT 实测:13 家公共加密 DNS 延迟对比,和一个几乎人人填错的地址
- 文章永久网址:https://www.997wan.com/doh-dot-dns-latency-test/
- 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 997笔记 进行删除处理。
- 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
- 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
- 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 如无特别声明本文即为原创文章仅代表个人观点,版权归《997笔记》所有,欢迎转载,转载请保留原文链接。