想要上网体验有保障,如何设置一个更安全的 DNS?( 二 )


受限于篇幅限制 , 下图只介绍符合 RFC 规范的(排除 IBM Quad9 DNS) , 拥有多个响应地点的(排除 360 公共 DNS)大型的 , 准确性也相对较好的(不会刻意投毒的) , 更重要的是 CDN 友好型的 公共 DNS 服务 。延迟则由各个地方各个运营商决定 , 请自行测试 。

想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图
推荐的公共 DNS 服务器
利用安全的公共 DNS 服务解决这个问题
不过在一部分 DNS 问题严重的地方 , 将运营商 DNS 更换为公共 DNS 可能还是不能解决本文开头的问题 。
这是因为我们的 DNS 流量没有经过加密 , 就和曾经的 http 协议一样 , 运营商或是第三方还是能够清楚的知道:我们发起了一个 DNS 请求 , 我们想要知道 xxx 网站的地址 。下图展示了一个 DNS 请求发起的过程 , 可以很清楚的看到 , 我请求了什么网址(用十六进制码显示 , 右侧是转义以后的结果)
想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图
一条普通的 DNS 查询
如果我们给我们的 DNS 流量加个密 , 就和 https 流量一样 , 那么运营商不就不知道我们我们的 DNS 请求了吗 。这就是 DNS over HTTPS (下文简称 DoH )和 DNS over TLS (下文简称 DoT )技术要做的事 。他们分别利用 HTTPS (超文本传输安全协议)和 TLS(传输层安全协议)这两种行业通用的安全协议 , 将我们的 DNS 请求发往 DNS 服务器 。运营商或是第三方在整个传输过程中 , 只能知道发起者和目的地 , 除此以外别的什么都知道 , 甚至都不知道你发起了 DNS 请求 。同时 HTTPS 和 TLS 都会使用网络数字证书确保对面的身份 , 这样传输的过程中无论是任何第三方都不能修改 DNS 的请求内容和最后的结果 。保证你请求的结果就是你最后想要的 。
DoH 和 DoT 不仅能为经常被运营商和第三方劫持 DNS 的人群提供安全可靠的 DNS 解析结果 , 还能给极为看重隐私人群补上上网隐私保护流程中的最后一块短板 。
下图是目前支持 DoH 或者 DoT 的 DNS 服务器列表
想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图
推荐的安全 DNS 服务器
我应该怎么使用 DoH 和 DoT 技术
对于 iOS 设备
大家可以前往 App Store 中下载 Cloudflare App(也被称为 1.1.1.1) , 下载以后 , 打开应用 , 直接打开开关即可享用到来自 Cloudflare 提供的 DoH 服务 。
想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图
通过 Cloudflare 使用安全的公共 DNS 服务器
Adguard iOS 版的用户可以手动选择 DNS 服务器(需要高级订阅) , 前往 Adguard iOS 版本的设置 , 选择 DNS , 再选择合适的 DNS 服务器即可 , 当然你也可以选择手动输入自定义的 DNS 服务器(DoH 和 DoT 均支持)使用这项功能 。
想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图
通过 Adguard iOS 使用安全的公共 DNS 服务器
对于 Android
Android 9 以及以上的版本 , 你可以前往无线和网络 , 选择指定加密 DNS 服务(部分设备上可能被命名为:私人 DNS) , 输入 DNS over TLS 的地址即可 。
想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图
Android 9 以及以上的版本直接能进行设置
对于 Android 9 以下的版本 , 或者没有指定加密 DNS 服务 , 你可以前往各大应用市场下载 Intra 应用 , 进行配置 。前往 Intra 的设置 , 选择 DNS over HTTPS 服务器 , 输入或者选择 DNS over HTTPS 服务器即可 。
想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图
通过 Intra 使用安全的公共 DNS 服务器
当然 , 如果你是 Adguard Android 版的用户 , 你可以前往 Adguard Android 版本的设置 , 选择 DNS , 再选择合适的 DNS 服务器即可 , 和 iOS 版本一样你也可以选择手动输入自定义的 DNS 服务器 , 使用更适合自己的 DNS 服务器 。
想要上网体验有保障,如何设置一个更安全的 DNS?

文章插图

推荐阅读