Android 系统设置私密 DNS

Android 系统设置私密 DNS

💡 原文中文,约9900字,阅读约需24分钟。
📝

内容提要

本文介绍了作者为安卓用户重新设计的 DNS over HTTPS (DoH) 服务 ZNS,解决了安卓系统无法直接使用的问题。通过将用户标识放入子域名中,支持 DoH 和 DNS over TLS (DoT) 协议,并分享了申请泛域名证书的过程及安全措施,最终实现了 ZNS 服务的正常运行。

🔎

延伸解读

安卓系统的私密 DNS 限制

安卓系统对私密 DNS 的支持存在限制,用户只能在白名单中的 DNS 服务使用 DoH 协议,其他则默认使用 DoT。这种设计可能影响用户体验,尤其是对希望使用 DoH 的用户来说,需注意选择合适的 DNS 服务。

安全性与证书管理

在申请泛域名证书时,使用 DNS-01 challenge 可能带来安全风险。作者通过在安全设备上申请证书并上传到 ZNS 服务器,降低了风险。这一过程强调了在处理敏感信息时,安全措施的重要性。

ZNS 服务的协议兼容性

ZNS 服务通过实现 DoT 协议的处理逻辑,能够将 DoT 请求转换为 DoH 请求处理。这种兼容性设计使得用户在不同协议间切换时更加灵活,提升了服务的可用性。

Q&A

ZNS 服务是什么?

ZNS 服务是一个自建的 DNS over HTTPS (DoH) 服务,旨在解决安卓用户无法直接使用 DoH 的问题。

如何在安卓系统中设置私密 DNS?

在安卓系统中设置私密 DNS 时,需要输入格式为 https://${TOKEN}.zns.lehu.in/dns-query 的域名。

申请泛域名证书的过程是怎样的?

申请泛域名证书需要使用 DNS-01 challenge,通过提供域名管理 API 创建和删除特定 TXT 记录来验证域名所有权。

安卓系统为什么不支持 DoH?

安卓系统默认不支持 DoH,只有在白名单中的私密 DNS 才会使用 DoH,其他则使用 DoT 协议。

ZNS 如何处理 DoT 请求?

ZNS 通过监听 853 端口,将 DoT 请求转换为 DoH 请求处理,并将返回内容转换为 DoT 数据返回给客户端。

DDR 和 SVCB 记录有什么关系?

DDR(RFC9462)使用 SVCB 记录来告知客户端当前递归解析服务器支持的通信协议,以便客户端选择合适的协议。

🏷️

标签

➡️

继续阅读