Android 9+ · 系统级 DoT

安卓私人 DNS(Private DNS)
详解与配置教程

无需任何 App,在系统设置里填一个主机名,全手机的 DNS 查询就走加密通道——这就是 Android 9 起内置的「私人 DNS」。

DoTRFC 7858 · 853 端口
填主机名不填 IP · 证书强校验
全网生效Wi-Fi / 4G / 5G
免 App系统内置能力
TL;DR · 核心答案

安卓「私人 DNS」是 Android 9(Pie)开始内置的系统级加密解析功能,底层固定使用 DNS over TLS(DoT),遵循 RFC 7858,走 853 端口。配置时必须选择「指定私人 DNS 提供商主机名」并填写一个域名(FQDN),而不是 IP——因为 Android 要对服务器 TLS 证书做主机名校验。保存成功后,Wi-Fi 与移动数据下所有 App 的 DNS 查询统一加密;若保存报错,优先检查系统时间是否准确、所在网络是否封禁了 853 端口。

How It Works

私人 DNS 到底是什么?

把传统 UDP 53 明文查询,换成一条 TLS 加密隧道

传统 DNS 查询走 UDP 53 端口,内容在链路上明文可见:运营商、公共 Wi-Fi、企业网关都能完整记录你访问了哪些域名,还能返回伪造 IP 做劫持。Android 9 引入的「私人 DNS」(英文 Private DNS)在系统的 DNS 解析器层把查询改为通过 TLS 隧道发送,即 DNS over TLS(DoT),与 Cloudflare 等公共解析服务采用同一标准。

为什么填的是主机名而不是 IP?

DoT 的安全性来自 TLS 证书校验:客户端连接 853 端口后,要验证服务器出示的证书是否签发给你填的那个域名。如果你填 IP,Android 无法把证书上的域名与你填写的内容对应起来,校验失败、直接报错。因此配置界面明确写着「私人 DNS 提供商主机名」,例如 dns.google、one.one.one.one 或自建节点的域名。

它覆盖哪些场景?

私人 DNS 一旦保存,就成为系统默认解析器:Wi-Fi、蜂窝移动数据、甚至手机热点下连进来的设备所经过的上行解析,都由这个加密通道接管。它与浏览器里单独开的「安全 DNS(DoH)」互不冲突,但私人 DNS 管的是整个系统,不只是浏览器。

需要注意:安卓系统本身不提供 DoH 设置入口,浏览器厂商各自实现的安全 DNS 才是 DoH。这也是为什么安卓这一页讲的是 DoT,而浏览器那一页讲的是 DoH。

Setup Steps

三步完成配置

不同品牌菜单位置略有差异,逻辑完全一致

1打开私人 DNS 设置

  1. 打开系统「设置」
  2. 进入「网络和互联网」(或「连接」)
  3. 点「高级」展开,选择「私人 DNS」
  4. 三星等品牌路径:设置 → 连接 → 更多连接设置 → 私人 DNS

2选择主机名模式

  1. 默认通常是「关闭」
  2. 选择「指定私人 DNS 提供商主机名」
  3. 不要选自动模式——自动只在网络提供商下发时才生效

3填主机名并保存

  1. 输入主机名,如 dns.23-4.cn
  2. 点「保存」
  3. 保存无报错即生效;报错见下文排查
服务商私人 DNS 主机名说明
234 自建加密 DNSdns.23-4.cn零日志,自建节点
Google Public DNSdns.googleGoogle 官方 DoT 端点
Cloudflare 1.1.1.1one.one.one.oneCloudflare 官方 DoT 端点
Quad9dns.quad9.net自带恶意域名过滤
Verify

怎么确认加密 DNS 真的生效了?

配置保存成功 ≠ 已经在用,按下面方法判定

  1. 保存不报错:填错主机名或网络不通时,Android 保存时会立刻提示「无法保存私人 DNS」,能保存说明 853 端口 TLS 握手成功了一半。
  2. 访问解析状态检测页:用手机浏览器打开 Cloudflare 的 1.1.1.1/help 页面,页面会直接显示「Using DNS over TLS (DoT): Yes」;自建节点可访问自己的状态页判定。
  3. 断网对照:临时把私人 DNS 改回「关闭」,再打开检测页,观察判定结果是否从 Yes 变成 No,反向确认开关确实在起作用。
  4. 抓包对照(进阶):有条件时在同一网络下抓包,配置前能看到大量发往 UDP 53 的明文查询;配置后这些查询消失,取而代之的是发往 853 端口的 TLS 流量。
Troubleshooting

保存报错 / 连不上的排查清单

按概率从高到低逐项排除

① 系统时间不准(最常见)

TLS 证书校验依赖设备当前时间判断证书是否在有效期内。手机时间差几分钟、甚至跨了时区没开自动对时,都会导致握手失败。进入「设置 → 系统 → 日期和时间」,打开「自动设置」后重试。

② 网络封禁了 853 端口

公司、校园、酒店 Wi-Fi 常出站封锁非常规端口。切到手机蜂窝数据再保存一次:蜂窝能存、Wi-Fi 不能存,就是网络侧封了 853,这种环境下私人 DNS 不可用,可改用浏览器级 DoH(443 端口)作为补偿。

③ 主机名写错或证书不匹配

多打一个点、少打一个横杠,或把服务商 IP 填进主机名框,都会校验失败。复制官方公布的主机名逐字符核对;自建节点要确认证书是公共可信 CA 签发、且覆盖该主机名。

④ 国产定制系统阉割了入口

极少数厂商 ROM 把私人 DNS 入口藏掉或改名(如「私人 DNS」放在「更多连接」里)。在设置顶部搜索框直接搜「私人 DNS / Private DNS」是最快的定位方式。

FAQ

常见问题

安卓私人 DNS 填域名还是填 IP?+
必须填加密 DNS 提供商的主机名(域名),而不是 IP 地址。私人 DNS 基于 DoT,需要对服务器 TLS 证书做主机名校验,填 IP 会导致证书校验失败、无法保存。
私人 DNS 用的是 DoT 还是 DoH?+
Android 9 起的私人 DNS 固定使用 DNS over TLS(DoT,RFC 7858),走 853 端口;安卓系统设置本身不提供 DoH(443 端口)入口,DoH 需要靠浏览器或第三方 App 实现。
配置后私人 DNS 报错连不上怎么办?+
按顺序排查:一是确认时间准确(系统时间错误会导致 TLS 证书校验失败);二是确认所在网络没有封禁 853 端口(公司/校园网常见);三是确认主机名拼写正确且证书合法;四是切换 Wi-Fi 与蜂窝数据分别测试。
私人 DNS 对所有 App 都生效吗?+
生效。私人 DNS 是系统级解析器,接管系统所有 DNS 查询,浏览器、App、后台服务统一走加密通道;但少数使用自己内置 DoH 解析器的浏览器会另有自己的加密通道。
References

参考来源