DNS over TLS 提供商

先来了解一下什么是 DNS。
互联网所有通信都是建立在 TCP/IP 的基础上,如果想访问目标网络,就必须知道目标 IP。不过 IP 的数量有限,还有 IP 是由一串数字或十六进制组成的,不是那么好记,所以有了域名。域名本身不具有访问性,它如果想被访问,必须绑定一个或多个 IP,一个 IP 可以绑定一个或多个域名。这时候就有一个问题,如何知道域名指向的是哪个 IP。所以需要一项服务,它记载着所有域名和IP的关系,需要的时候询问它就可以了,这就是 DNS(域名系统)。
用域名访问一个网址的流程大概如下:输入网址 → 系统向 DNS 服务器发送查询请求 → DNS 服务器返回查询结果 → 系统拿到域名指向IP → 向指定 IP 发送请求,请求的数据包里带上网址。
由于 DNS 的数据是以明文传输,所以 DNS 服务器返回的数据在传输的过程中是有可能被篡改的,导致域名指向错误的 IP,引导用户访问错误或恶意的网站。
因为 DNS 服务器人人都可以搭建,所以有很多的恶意 DNS 服务器,它的数据不需要被篡改,即查询出来的数据就是错误的。
这两种情况,我们通常称之为 DNS 污染。
为了保护用户的上网安全,一些 DNS 加密查询技术应运而生。常见的有:DNS over HTTPS、DNSCrypt 和 DNS over TLS。前两者目前还不是互联网标准。这三种的技术原理大致一样,都是通过一些手段加密用户与 DNS 服务器之间的通信,避免 DNS 污染。
DNS over TLS 成为互联网标准的时间还不是很长,目前支持的平台不多,小山已知的只有 Android Pie,不过随着各大系统的更新,这项技术以后肯定会普及。
这项技术普及以后有何优势,我就不多说了,大家都懂。
其他系统平台可以暂且使用 SmartDNS 这个程序来作为本地 DNS 服务器,它支持 DNS over TLS 作为 DNS 上游服务器。

DNS over TLS 提供商

Google: dns.google
Cloudflare: 1dot1dot1dot1.cloudflare-dns.com
Quad9: dns.quad9.net
CleanBrowsingsecurity-filter-dns.cleanbrowsing.org
红鱼DNS: dns.rubyfish.cn
如果你使用的是 Cloudflare 提供的私人 DNS,可以访问 https://1.1.1.1/help,验证是否配置成功。

本文参考了以下资料