无需任何 App,在系统设置里填一个主机名,全手机的 DNS 查询就走加密通道——这就是 Android 9 起内置的「私人 DNS」。
安卓「私人 DNS」是 Android 9(Pie)开始内置的系统级加密解析功能,底层固定使用 DNS over TLS(DoT),遵循 RFC 7858,走 853 端口。配置时必须选择「指定私人 DNS 提供商主机名」并填写一个域名(FQDN),而不是 IP——因为 Android 要对服务器 TLS 证书做主机名校验。保存成功后,Wi-Fi 与移动数据下所有 App 的 DNS 查询统一加密;若保存报错,优先检查系统时间是否准确、所在网络是否封禁了 853 端口。
把传统 UDP 53 明文查询,换成一条 TLS 加密隧道
传统 DNS 查询走 UDP 53 端口,内容在链路上明文可见:运营商、公共 Wi-Fi、企业网关都能完整记录你访问了哪些域名,还能返回伪造 IP 做劫持。Android 9 引入的「私人 DNS」(英文 Private DNS)在系统的 DNS 解析器层把查询改为通过 TLS 隧道发送,即 DNS over TLS(DoT),与 Cloudflare 等公共解析服务采用同一标准。
DoT 的安全性来自 TLS 证书校验:客户端连接 853 端口后,要验证服务器出示的证书是否签发给你填的那个域名。如果你填 IP,Android 无法把证书上的域名与你填写的内容对应起来,校验失败、直接报错。因此配置界面明确写着「私人 DNS 提供商主机名」,例如 dns.google、one.one.one.one 或自建节点的域名。
私人 DNS 一旦保存,就成为系统默认解析器:Wi-Fi、蜂窝移动数据、甚至手机热点下连进来的设备所经过的上行解析,都由这个加密通道接管。它与浏览器里单独开的「安全 DNS(DoH)」互不冲突,但私人 DNS 管的是整个系统,不只是浏览器。
需要注意:安卓系统本身不提供 DoH 设置入口,浏览器厂商各自实现的安全 DNS 才是 DoH。这也是为什么安卓这一页讲的是 DoT,而浏览器那一页讲的是 DoH。
不同品牌菜单位置略有差异,逻辑完全一致
dns.23-4.cn| 服务商 | 私人 DNS 主机名 | 说明 |
|---|---|---|
| 234 自建加密 DNS | dns.23-4.cn | 零日志,自建节点 |
| Google Public DNS | dns.google | Google 官方 DoT 端点 |
| Cloudflare 1.1.1.1 | one.one.one.one | Cloudflare 官方 DoT 端点 |
| Quad9 | dns.quad9.net | 自带恶意域名过滤 |
配置保存成功 ≠ 已经在用,按下面方法判定
1.1.1.1/help 页面,页面会直接显示「Using DNS over TLS (DoT): Yes」;自建节点可访问自己的状态页判定。按概率从高到低逐项排除
TLS 证书校验依赖设备当前时间判断证书是否在有效期内。手机时间差几分钟、甚至跨了时区没开自动对时,都会导致握手失败。进入「设置 → 系统 → 日期和时间」,打开「自动设置」后重试。
公司、校园、酒店 Wi-Fi 常出站封锁非常规端口。切到手机蜂窝数据再保存一次:蜂窝能存、Wi-Fi 不能存,就是网络侧封了 853,这种环境下私人 DNS 不可用,可改用浏览器级 DoH(443 端口)作为补偿。
多打一个点、少打一个横杠,或把服务商 IP 填进主机名框,都会校验失败。复制官方公布的主机名逐字符核对;自建节点要确认证书是公共可信 CA 签发、且覆盖该主机名。
极少数厂商 ROM 把私人 DNS 入口藏掉或改名(如「私人 DNS」放在「更多连接」里)。在设置顶部搜索框直接搜「私人 DNS / Private DNS」是最快的定位方式。