一日一技|曲线救国,让 Android 用上 DoH

💡 原文中文,约6600字,阅读约需16分钟。
📝

内容提要

文章讨论了DNS污染和劫持问题,介绍了Android系统中私人DNS功能的实现,比较了DNS-over-TLS(DoT)和DNS-over-HTTPS(DoH)的优缺点,并提供了通过ROOT权限配置DoH以增强DNS请求的安全性和隐私性。

🎯

关键要点

  • DNS污染和劫持是一个严重的问题,传统DNS协议易受攻击。

  • Android 9引入了私人DNS功能,使用DNS-over-TLS(DoT)加密DNS请求。

  • DoT存在连接建立频繁和端口识别明显的问题。

  • DNS-over-HTTPS(DoH)连接更稳定,难以被识别,提供更好的隐私保护。

  • Android 11后私人DNS支持DoH,但仅限于Google和Cloudflare的公共DNS。

  • 使用第三方APP如Intra可以实现DoH,但需消耗更多电量。

  • ROOT后使用DNS模块如dnscrypt-proxy和AdGuardHome可以更灵活地配置DoH。

  • IPv6可能导致DNS请求被截获,影响DNS解析。

  • 通过本地运行DoT服务器并配置DoH地址,可以实现更广泛的DoH支持。

  • 申请SSL证书需要域名,使用certbot工具可以从Let's Encrypt申请免费证书。

  • 配置AdGuardHome模块需要ROOT权限,确保后台运行不被杀掉。

  • 配置完成后,通过私人DNS设置使用自定义的DoT地址。

  • 这种方法相比第三方APP更省电,灵活性更高,避免了IPv6 DNS的干扰。

🔎

延伸解读

DNS污染的影响与解决方案

DNS污染和劫持会导致用户无法正常访问网站,甚至被重定向到恶意网站。虽然修改系统DNS为可信公共DNS可以缓解问题,但在某些情况下仍然无法根本解决。使用Android的私人DNS功能,尤其是DoH,可以有效提高DNS请求的安全性和隐私性,值得用户关注。

DoT与DoH的比较

虽然DNS-over-TLS(DoT)为DNS请求提供了加密,但其连接建立频繁且端口识别明显,可能被识别和干扰。相比之下,DNS-over-HTTPS(DoH)连接更稳定,难以被识别,提供更好的隐私保护。因此,用户在选择DNS协议时应考虑其隐私需求和网络环境。

ROOT权限的必要性

在Android设备上实现更灵活的DNS配置,特别是使用AdGuardHome等模块,需要ROOT权限。虽然这可以带来更高的灵活性和省电效果,但也增加了设备安全风险。用户在获取ROOT权限时应谨慎,确保了解相关风险和后果。

延伸问答

什么是DNS污染和劫持?

DNS污染和劫持是指在DNS请求过程中,攻击者监控、篡改DNS记录,导致用户访问错误网站。

Android系统如何实现私人DNS功能?

Android系统在9以后引入私人DNS功能,使用DNS-over-TLS(DoT)加密DNS请求,增强安全性。

DNS-over-TLS和DNS-over-HTTPS有什么区别?

DNS-over-TLS(DoT)每次请求需建立新连接,特征明显;而DNS-over-HTTPS(DoH)连接更稳定,难以被识别。

如何在Android上配置DoH以增强DNS安全性?

可以通过ROOT权限使用dnscrypt-proxy或AdGuardHome模块配置DoH,确保灵活性和电量节省。

使用第三方APP实现DoH有什么缺点?

使用第三方APP如Intra需要消耗更多电量,并且在某些定制安卓系统中可能会被后台限制。

如何申请SSL证书以配置DoT?

可以使用certbot工具从Let's Encrypt申请免费SSL证书,需提供域名进行验证。

🏷️

标签

➡️

继续阅读