TL;DR:安卓原生(Pixel 等)私人DNS入口在「设置 → 网络和互联网 → 高级 → 私人DNS」。它是 Android 9 Pie 开始引入的系统级功能,底层就是 DNS over TLS(DoT)。选「指定私人DNS主机名」,填入dns.google或one.one.one.one即可。关键:必须填域名,不能填IP,这是官方硬性要求。
什么是安卓原生私人DNS
私人DNS(Private DNS)是 Google 在 Android 9(Pie,API Level 28)中正式加入系统的加密DNS功能。它的作用是把手机所有的域名查询请求通过 TLS 协议加密后发送给指定的DNS服务器,防止运营商、公共Wi-Fi监听者篡改或窃听你的DNS查询。
在安卓原生系统(Stock Android,代表机型是 Google Pixel 系列)上,这个功能从设置第一天起就摆在明面上,不需要Root、不需要装任何App。国内各品牌(小米、华为、三星、OPPO、vivo、荣耀)的系统都是基于安卓深度定制的,虽然底层都支持DoT,但菜单名称和位置各不相同——这也是为什么各品牌要单独出教程。
原生安卓私人DNS的三种模式
进入私人DNS设置页后,你会看到三个选项:
| 模式 | 英文 | 行为说明 |
|---|---|---|
| 关闭 | Off | 完全不使用加密DNS,所有查询走网络分配的默认明文DNS |
| 自动 | Automatic | 系统自动探测当前网络是否支持DoT,支持就加密,不支持就回退明文 |
| 指定私人DNS主机名 | Private DNS provider hostname | 手动指定一个DoT服务器域名,强制所有查询走加密通道 |
普通用户建议直接选第三项「指定私人DNS主机名」,效果最明确、最可控。「自动」模式看似省事,但在很多国内网络环境下要么探测不到、要么来回切换不稳定。
原生安卓私人DNS入口位置(Pixel 等)
不同安卓小版本菜单位置可能略有调整,但总体路径如下:
- 打开「设置」App。
- 找到「网络和互联网」(Network & Internet),有些版本叫「网络和Internet」。
- 点击「高级」(Advanced)展开折叠菜单。
- 点击「私人DNS」(Private DNS)。
如果你的安卓版本把入口收得更深,可以直接在设置首页顶部搜索框输入「私人DNS」或「Private DNS」,一步到位。各品牌定制系统虽然界面不同,但搜索功能一般都保留了。
hostname怎么填:必须是域名,不能是IP
这是新手最容易踩的坑。安卓私人DNS的输入框叫「主机名」(hostname),它只接受域名形式,不能填 8.8.8.8 这种IP地址。
原因在于 DoT 的工作机制:手机要和DNS服务器建立 TLS 加密连接,TLS握手时会校验服务器证书上的域名是否和你填写的主机名一致。IP地址没有对应的证书,填上去系统会直接报「无法连接」或一直转圈。
常用的DoT主机名速查表:
| 服务商 | DoT主机名 | 特点 |
|---|---|---|
| Google Public DNS | dns.google | 全球节点,海外服务解析快 |
| Cloudflare | one.one.one.one | 零日志,隐私优先 |
| Cloudflare(备用写法) | 1dot1dot1dot1.cloudflare-dns.com | 同上,部分App教程用这个写法 |
| AdGuard(去广告) | dns.adguard-dns.com | 拦截广告和跟踪器 |
| AdGuard(不过滤) | unfiltered.adguard-dns.com | 纯加密,不拦截任何请求 |
| Quad9 | dns.quad9.net | 恶意网站防护 |
| 腾讯DNSPod | dot.pub | 国内节点,国内访问稳定 |
| 阿里公共DNS | dns.alidns.com | 国内节点 |
填好后点「保存」,系统会立即尝试连接。连接成功后没有任何提示音或弹窗,但状态已经切换。
怎么验证私人DNS是否生效
设置完成后,可以用以下方法确认:
- 系统状态确认:再次进入「设置 → 网络和互联网 → 高级 → 私人DNS」,确认选中的是「指定私人DNS主机名」,下方显示你填写的域名。
- 在线检测:用浏览器访问
https://1.1.1.1/help,页面会显示「Using DNS over TLS (DoT)」是否为 Yes。 - 实际体验:打开几个常用App和网页,如果都能正常加载,说明DNS解析正常工作。
设置后连不上网怎么办(快速排查)
如果你填完hostname保存后发现微信、浏览器都打不开,大概率是以下三个原因:
- 服务器在国内网络下不通:
dns.google、one.one.one.one这类海外DoT服务器在国内可能被阻断或延迟极高。换成dot.pub或dns.alidns.com这类国内地址试试。 - 填了IP而不是域名:回到设置页检查输入框,确认填的是完整域名,不要带
https://前缀,不要带端口号,不要填IP。 - Wi-Fi网络本身有问题:先把私人DNS切回「关闭」,看是否恢复上网。如果恢复了,就说明确实是DNS服务器的问题,不是网络断了。
更完整的排查步骤(包括证书错误、特定App连不上、换机迁移等场景),请参考这篇专门的排查指南:安卓手机私人DNS连不上的排查全流程。
私人DNS和DoH是什么关系
很多人会把「私人DNS」和「DoH」混为一谈,这里简单厘清:
- 私人DNS是安卓系统里的一个功能开关名称,它底层只实现了 DoT(DNS over TLS),不支持 DoH。
- DoH(DNS over HTTPS)是另一种加密DNS协议,走443端口。安卓原生私人DNS不支持DoH,如果你需要DoH,得靠浏览器内置(Chrome/Firefox)或第三方App实现。
想深入了解两种协议的区别和怎么选,可以阅读DoH/DoT/DoQ 三种加密协议对比。另外,本站也整理了一份免费加密DNS服务地址与一键配置清单,可以直接抄作业。
常见问题(FAQ)
问:安卓哪个版本开始有私人DNS?我的手机是Android 8.1能用吗?
答:私人DNS从 Android 9(Pie)开始引入。Android 8.1 及更早的系统没有这个系统级开关,只能靠第三方App实现加密DNS。可以在「设置 → 关于手机」里查看Android版本号。
问:私人DNS对所有App都生效吗?包括微信、抖音这些?
答:是的。私人DNS是系统级功能,所有走系统DNS解析的App都会经过加密通道。但如果某个App内置了自己的DNS解析器(硬编码服务器地址),它可能绕过系统私人DNS,这种情况比较少见。
问:我填了 dns.google,为什么国内网站打开反而慢了?
答:Google Public DNS 的节点主要在海外,国内域名解析时它返回的可能是海外CDN节点IP,导致访问变慢。国内用户建议优先用 dot.pub(腾讯)或 dns.alidns.com(阿里)这类国内节点,访问国内网站更快更稳。
参考来源
- Android Developers - Android 9 行为变更(Private DNS / DNS over TLS) —— 支撑文中 Android 9 引入 Private DNS、底层为 DoT 的官方事实。
- Google Public DNS 官方文档 - DNS over TLS 设置步骤 —— 支撑文中 dns.google 主机名、Android 9+ 配置路径。
- Google Public DNS 官方文档 - 使用 Android 私人DNS —— 支撑文中「设置 → 网络和互联网 → 高级 → 私人DNS」路径及 hostname 填写方式。
- Cloudflare 1.1.1.1 官方文档 - DNS over TLS —— 支撑文中 one.one.one.one 作为 DoT 主机名。