DNSCrypt自动对您的DNS通信进行加密,并将其发送到也使用加密的DNS服务器。这样,整个事务始终保持加密状态。甚至您的ISP也无法看到您正在浏览的位置。实际上,DNSCrypt是您可以在Linux上设置的最简单的服务之一,因此实际上没有理由不使用它。
在本教程中,您将学习:
- 如何在Ubuntu和Debian上安装DNSCrypt。
- 如何配置您的DNS服务器。
- 如何使用NetworkManager和Resolvconf将DNSCrypt设置为系统DNS。
使用的软件要求和约定
类别 | 要求,约定或使用的软件版本 |
---|---|
系统 | 当前版本的Debian或Ubuntu |
软件 | DNS加密 |
其他 | 具有root权限的受支持发行版的有效安装。 |
约定 | #-要求给出linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo 命令$-要求给出linux命令以普通非特权用户身份执行 |
安装DNSCrypt
首先安装DNSCrypt。它已经在Ubuntu和Debian的存储库中,因此您可以使用apt
。
$ sudo apt install dnscrypt-proxy
配置您的DNS服务器
要使DNSCrypt正常工作,实际上不需要做太多的配置工作。实际上,安装后它可能已经可以正常工作。您可能要更改DNSCrypt连接到的DNS服务器,这实际上很简单。
打开/etc/dnscrypt-proxy/dnscrypt-proxy.toml
使用您最喜欢的文本编辑器和root权限。找到以开头的行server_names
。在上添加任何名称支持的服务器列表用引号括起来的数组。最终结果应类似于以下示例。如果不确定使用什么工具,Cloudflare是一个不错的选择。
server_names = ['cloudflare']
保存退出文件。然后,重新启动DNSCrypt服务。
$ sudo systemctl restart dnscrypt-proxy
将DNSCrypt设置为系统DNS
当DNSCrypt在我们的系统上运行时,您的计算机未配置为将其用于DNS。那是下一步。您使用的方法将取决于网络连接的配置方式。大多数人都使用NetworkManager,因为这是默认设置,但是如果您使用静态IP设置了自定义设置,则也可以使用Resolvconf。
使用NetworkManager
打开您的桌面环境的设置应用程序。转到”Network”部分,然后打开您正在使用的连接。在打开的配置窗口中,找到IP4部分。通常可以在其中找到所需的设置。
在该标签下,查找“ DNS”部分,然后将所有现有服务器更改为127.0.2.1
。保存更改并退出。现在,重新启动NetworkManager。
$ sudo systemctl restart NetworkManager
与Resolvconf
如果您使用的是Resolvconf或/etc/resolv.conf
要指定您的名称服务器,您仍然可以轻松进行设置。首先,如果您仅使用普通测试/etc/resolv.conf
文件,您可以更改我们的nameserver
该行反映了本地DNSCrypt之一。
nameserver 127.0.2.1
对于Resolvconf,更改或添加dns-nameservers
界面中的行/etc/network/interfaces
。
dns-nameservers 127.0.2.1
继续并重新启动网络和Resolvconf。如果这样不起作用,请重新启动计算机。
$ sudo systemctl restart networking
$ sudo systemctl restart resolvconf
总结思想
您的DNS现在应该已完全加密。 DNSCrypt将在后台自动运行。由于您的配置,所有DNS流量都将通过DNSCrypt转移,加密并发送到您指定的服务器。这是控制DNS的简便方法,并且运行起来并不难,因此实际上没有理由不这样做。