Android 上的私人 DNS 是什么?
每当应用或浏览器打开一个网站,手机都会先向 DNS 服务器询问该网站的地址。默认情况下,这个问题以未加密的方式传输,并发送给您的 Wi-Fi 或移动网络分配的任意服务器。Android 的私人 DNS设置改变了这一点:它会把问题加密后,发送到您选定的服务器,使用的协议叫做 DNS over TLS(DoT)。
私人 DNS 是用主机名来配置的,例如 family.cloudflare-dns.com,而不是用 IP 地址。如果您想了解 DNS 查询的背景知识,请阅读什么是 DNS。
私人 DNS 的三种模式分别是什么?
Android 最多提供三种选择:
| 模式 | 作用 |
|---|---|
| 关闭 | 不使用私人 DNS。手机照常使用网络提供的 DNS。 |
| 自动 | 手机会尝试与网络的 DNS 服务器建立加密连接,如果无法建立,就改用普通 DNS。 |
| 私人 DNS 提供商主机名 | 手机会把每次查询加密后发送到您输入的主机名。如果该服务器无法访问,查询就会失败。 |
有些手机对这些选项的叫法略有不同。技术文章中,第三种选项有时被称为“严格模式”。
如何把带过滤功能的服务商设为私人 DNS?
一些公共 DNS 服务商提供家庭过滤,对一批成人和有害网站返回“已拦截”的结果。把该服务商的主机名填入私人 DNS,就能让它作用于整部手机。这些主机名与我们的家庭 DNS 服务器对照表中 DoH 地址里的主机相同:
| 服务商 | 主机名 | 说明 |
|---|---|---|
| Cloudflare Family | family.cloudflare-dns.com | 家庭过滤 |
| AdGuard Family | family.adguard-dns.com | 家庭过滤 |
| Quad9 | dns.quad9.net | 拦截已知恶意网站 |
| AdGuard DNS | dns.adguard-dns.com | 拦截广告 |
在依赖某个主机名之前,请先查看服务商自己的页面,因为服务商可能会更改主机名。然后按照下面的步骤操作。
原生 Android(Pixel 及类似机型)
- 打开设置。
- 点按网络和互联网。
- 点按私人 DNS。
- 选择私人 DNS 提供商主机名,并输入主机名。
- 点按保存。
三星(One UI)
- 打开设置。
- 点按连接,然后点按更多连接设置。
- 点按私人 DNS。
- 选择主机名选项,输入主机名并点按保存。
小米(MIUI 和 HyperOS)
- 打开设置。
- 点按连接与共享。
- 点按私人 DNS。
- 选择主机名选项,输入主机名并点按保存。
菜单名称可能因手机型号和 Android 版本而异。如果找不到这个入口,请使用“设置”顶部的搜索框,搜索“私人 DNS”。
为什么使用 EZOBLOCKER 时,私人 DNS 必须是“关闭”或“自动”?
EZOBLOCKER 通过本地隧道捕获手机的 DNS 查询,加密(DoH)后发送到自己的服务器,并在那里拦截您选择的类别。而 Android 的私人 DNS 设置优先于这一切。如果填写了主机名,Android 会把每一次 DNS 查询都直接发送到那台服务器,EZOBLOCKER 看不到这些查询,所以您的类别什么也过滤不了。
所以这两者是二选一,而不是搭档:
- 要使用 EZOBLOCKER 的类别,请把私人 DNS 设为关闭或自动。在应用中,“设置”>“高级”会显示当前的私人 DNS 状态,需要修复时会提醒您。
- 如果只想通过手机的系统设置使用某个公共服务商的过滤功能,请填写它的主机名,并保持 EZOBLOCKER 关闭。
EZOBLOCKER 自己也可以使用公共服务商:“高级”>“DNS服务提供方”。在这种模式下,它自己的类别不会生效。详情请参阅家庭 DNS 服务器指南。
如何确认它在起作用?
在 EZOBLOCKER 开启的状态下,用手机浏览器打开保护状态检查。它会从一个对照地址和一个类别地址各请求一个小文件。如果对照地址能加载,而类别地址不能,就说明该类别正在通过 EZOBLOCKER 过滤。至于 DNS 过滤做不到的事,例如 YouTube 视频广告,请参阅 DNS 无法拦截的内容。