场景
今天在排查安卓手机dns解析时遇到的一个坑,导致业务app上的dns出现了问题,有一小部门机型会这样,经过各方排查确是私人DNS导致的,有些机型开启自动私人DNS模式。私人DNS又称DoT/DoH
什么是DNS
DNS全称是Domain Name Server,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。简单来说,就是一个将域名翻译成ip地址的系统。在互联网世界,DNS就是域名的通讯录,负责把网址解析成正确的 IP 地址。
DNS污染
又称域名服务器缓存投毒(DNS cache poisoning),是指把域名指往不正确的 IP 地址。
DNS 劫持
DNS 劫持一般是提供上网服务的运营商所为,用户查询 DNS 时,返回修改后的指定位置 IP 地址,网页无法打开或者打开的是一个假网站,或插入自己的广告。
什么是DoT/DoH
传统 DNS 查询数据以明文方式传输,容易被污染和劫持,非常的不安全;使用加密 DNS 可以避免运营商的劫持,以及使用大数据分析你所有访问的网站详情。
DoH 全称DNS Over HTTPS,使用 HTTPS 应用层协议代替传统的无连接无加密的 UDP 模式,保护 DNS 数据传输安全,可有效避免域名被运营商劫持、DNS 缓存投毒等域名安全问题。
DoT 全称DNS over TLS,安全原理与 DoH 一样都是使用 TLS 协议来传输 DNS 协议;采用固定的 853 端口,特征明显;比 DOH 少了一层 HTTP,理论上性能略高于 DOH。
端口差异
DNS是通过53端口 DoT是通过853端口
公共加密 DNS 服务
- 国内的:只能保证不劫持 国家地方联合工程研究中心的 IPv6 公共 DNS、腾讯 DNS (DNSPod)、阿里 DNS (Alidns)云、360 安全 DNS ;
- 国外的:多数国内不可用 Google Public DNS、Cloudflare DNS、Quad9 DNS、OpenDNS 等;