在 Linux Mint 上配置 DNS over TLS 以保护 DNS 隐私

本教程将向您展示如何在 Linux Mint 上保护您的 DNS 隐私 基于 TLS 的 DNS. 我们将使用一个名为 粗短的,但首先,让我告诉您为什么 DNS 不安全。

DNS 漏洞

DNS 是不安全的,因为默认情况下 DNS 查询未加密。 它们在线路上以纯文本形式发送,可以被中间实体利用。 例如,中国的防火墙(GFW) 使用一种称为 DNS缓存毒 审查中国互联网。 (他们还使用其他方法,这超出了本文的范围。)

GFW 会检查发送到中国境外 DNS 服务器的每个 DNS 查询。 由于纯文本 DNS 协议基于 UDP,这是一种无连接协议,GFW 可以欺骗客户端 IP 和服务器 IP。 当 GFW 在其阻止列表中找到域名时,它会更改 DNS 响应。

例如,如果中国互联网用户想要访问 google.com,GFW 会向用户的 DNS 解析器返回位于中国的 IP 地址而不是 Google 的真实 IP 地址。 然后 DNS 解析器将假 IP 地址返回给用户的计算机,因此用户无法访问 google.com。

什么是基于 TLS 的 DNS? 它如何保护您的 DNS 隐私?

DNS over TLS 意味着 DNS 查询通过使用 TLS(传输层安全)加密的安全连接发送,TLS 与加密 HTTP 流量的技术相同,因此第三方无法看到您的 DNS 查询。 结合 HTTPS 站点和加密的 SNI(服务器名称指示),您的网络浏览历史将受到 ISP 间谍的全面保护。

粗短的 是一个开源的 DNS 存根解析器。 存根解析器是最终用户计算机上的小型 DNS 客户端,它接收来自 Firefox 等应用程序的 DNS 请求,并将请求转发到递归解析器,例如 1.1.1.1 或 8.8.8.8。 Stubby 的特殊之处在于它支持基于 TLS 的 DNS。 默认情况下,它只会发送加密的 DNS 查询。

注意:本教程仅适用于 Linux Mint 19,包括 19.1 和 19.2。 如果您使用的是 Linux Mint 18,请升级您的系统。

如何使用 Stubby 在 Linux Mint 上通过 TLS 配置 DNS

Stubby 包含在 Linux Mint 19 软件存储库中。 打开终端窗口并运行以下命令进行安装。

sudo apt install stubby

安装后,stubby 会自动在后台运行。 您可以通过以下方式检查其状态:

systemctl status stubby

提示:如果上面的命令没有立即退出,你可以按 退出命令并重新获得终端控制权的键。

Stubby 侦听 localhost (127.0.0.1) 的 TCP 和 UDP 端口 53,通过运行以下命令可以看到:

sudo netstat -lnptu | grep stubby