私人DNS选DoT还是DoH?加密协议区别与设备兼容性选择指南

私人DNS选DoT还是DoH?加密协议区别与设备兼容性选择指南

234
234
2026-10-01 / 0 评论 / 3 阅读 / 4034 字 / 正在检测是否收录...
TL;DR: 如果你只是在安卓"私人 DNS"那一栏填地址,你选的其实就是 DoT(DNS over TLS,标准端口 853,RFC 7858);如果你是在浏览器或 Windows 设置里开"安全 DNS",那通常是 DoH(DNS over HTTPS,标准端口 443,RFC 8484)。两者加密强度相近,真正的差别在"你的设备原生支持哪一个"和"所在网络放不放行对应端口"。选哪个,不是看谁更先进,而是看你在哪台设备、哪个网络环境下用。

设置私人DNS时,为什么总要在DoT和DoH之间纠结?

很多人打开加密 DNS 教程,会看到两类地址:一类是让你填一个"主机名"(比如 dns.google),另一类是让你填一串 https://…/dns-query 开头的网址。填法不同,背后用的协议就不同——前者是 DoT,后者是 DoH。

这篇文章不打算像教科书那样把两种协议的报文格式拆开讲(本站另有一篇DoH/DoT/DoQ 三种加密协议对比做了深度科普,想刨根问底可以去看)。这里只解决一个实际问题:当你要给自己的手机、电脑、路由器配置私人 DNS 时,到底该填哪一类地址。

一张表看懂:DoT和DoH在"设置"层面的区别

对比项DoT(DNS over TLS)DoH(DNS over HTTPS)
标准来源RFC 7858,2016 年发布RFC 8484,2018 年发布
标准端口TCP 853TCP 443(复用 HTTPS 端口)
封装方式DNS 报文直接跑在 TLS 连接上DNS 报文塞进一次 HTTP 请求里,再跑在 HTTPS 上
你在设置里看到的样子填一个主机名/域名填一个 https:// 开头的 URL
典型原生入口安卓"私人 DNS"菜单浏览器"安全 DNS"、Windows 11 设置
与普通网页流量的区分度853 端口流量较容易被单独识别混在大量 443 流量里,较难单独区分

可以这样理解:DoT 是"专门为 DNS 修了一条加密专线",DoH 是"把 DNS 伪装成普通 HTTPS 网页流量走"。

你的设备原生支持哪个?别拿浏览器的习惯套手机

这是实操中最容易踩的坑——不同系统的加密 DNS 入口,默认走的协议不一样:

  • 安卓手机:系统设置里那个"私人 DNS",根据 Android 官方说明,用的是 DNS over TLS(DoT)。你在那里填的主机名,就是 DoT 地址;安卓这个菜单目前并不直接支持填 DoH 的 URL。
  • 浏览器(Chrome、Edge、Firefox):设置里的"安全 DNS / 使用安全 DNS 指定服务提供商",走的是 DoH,需要你填 URL 模板。它只管浏览器自己的解析,不影响手机里其他 App。
  • Windows 10/11:较新版本的网络设置里,原生支持的加密 DNS 是 DoH(通过 DoH 模板配置),系统层面的 DoT 支持相对有限。
  • macOS / iOS:主要通过描述文件或系统设置支持 DoH,DoT 支持视版本而定。

结论很直接:想给安卓整机开加密 DNS,你基本没得选,就是 DoT;想给浏览器单独开,就是 DoH。 别在安卓的"私人 DNS"框里硬塞一个 https:// 网址,那是填不进去的。

网络环境可用性:853和443端口的现实差异

填对了协议,还要看你的网络放不放行。这里需要客观说明两个事实:

  • RFC 7858 在引言里就提到,DoT 依赖一个"知名端口"(853),而这个知名端口有可能被某些防火墙阻断。这意味着在部分管控较严的网络里,853 端口的出站连接可能不通。
  • RFC 8484 则指出,DoH 复用了 HTTPS 的默认端口 443,并且可以和其他 HTTPS 流量混在同一条连接上,这让路上的设备更难把 DNS 流量单独挑出来干扰。

翻译成大白话:443 是所有正常上网都必须走的端口,几乎没有哪个网络会全封 443;而 853 是个相对小众的端口,理论上存在被单独限制的可能。但请注意——这只是协议层面的客观特性,不代表现实中一定会被封。多数家庭宽带、手机流量网络下,两者都能正常使用;只有在企业网、校园网、某些受限网络环境里,才可能遇到"DoT 连不上、换 DoH 就通"的情况。如果你在某个网络下私人 DNS 频繁连不上,可以两个都试一下。

自建加密DNS时,两种协议的证书要求差别

如果你不是用现成公共服务,而是自己搭一套加密 DNS(比如在 AdGuard Home、Pi-hole 上开启加密监听),两种协议对证书的要求也略有不同:

  • DoT:服务器需要一份受信任的 TLS 证书,并与你在客户端填的主机名匹配。客户端会按 TLS 常规流程校验证书链,证书不匹配或过期就会握手失败——这也是安卓"指定主机名"模式下提示证书错误的常见原因。
  • DoH:同样需要一份有效的 TLS 证书,因为它本质就是 HTTPS。区别在于 DoH 走的是标准 HTTPS 证书校验(RFC 8484 引用了 RFC 2818 的主机名校验规则),任何能让浏览器正常打开 https://你的域名 的证书,基本就能让 DoH 跑起来。

实务上的建议是:自建时最好给服务器域名签一张正规 CA 证书(比如 Let's Encrypt),这样 DoT 和 DoH 都能用;用自签证书会导致客户端校验失败,需要额外手动导入信任,普通用户不推荐。

决策表:什么场景选哪个

你的场景建议选原因
安卓整机开私人 DNSDoT系统原生菜单只支持 DoT
只给浏览器开加密 DNSDoH浏览器安全 DNS 走 DoH
Windows 10/11 系统级加密DoH系统设置原生支持 DoH
所在网络疑似限制 853 端口优先试 DoH443 更难被单独阻断
自建服务器、想一套证书两边通两种都配同一份正规证书可同时服务 DoT(853) 与 DoH(443)
企业/校园网有内网域名要解析先测连通性再定严格模式可能挡住内网解析

至于第三种加密协议 DoQ(DNS over QUIC),它更年轻、主要在部分实验性客户端和新一代浏览器中出现,本站那篇三协议深度对比有专门讲解,普通用户现阶段了解即可,设置入口里一般还碰不到它。

常见问题 FAQ

Q:DoT 和 DoH 加密效果一样吗?哪个更安全?
A:两者底层都依赖 TLS 加密,对"防窃听、防篡改"的保护强度是同一量级的,区别主要在封装方式和部署位置,而非谁更安全。

Q:我能同时开安卓的 DoT 和浏览器的 DoH 吗?会不会冲突?
A:通常可以并存。安卓 DoT 作用于整机解析,浏览器 DoH 只接管浏览器自己的解析;少数情况下两者指向不同服务器可能带来解析结果不一致,建议保持指向同一家服务商。

Q:为什么我填了 DoT 主机名却提示"无法连接到私有 DNS 服务器"?
A:多半是 853 端口在当前网络被限制,或证书校验失败。可先切换到"自动"模式观察,或换一家同时提供 DoH 的服务测试。

参考来源

0个赞
取消