在Ubuntu 18.04或19.04 / Debian不稳定或测试中安装并启用DNSCrypt Proxy 2 [How To]


DNSCrypt代理2 是一种灵活的DNS代理,支持加密的DNS协议,例如DNSCrypt v2和DNS-over-HTTPS。
DNSCrypt是一种网络协议,可对用户计算机和递归名称服务器之间的域名系统(DNS)流量进行身份验证和加密,将常规DNS流量转换为加密的DNS流量,可以防止间谍,欺骗或中间人攻击,从而提高了用户的在线安全性和隐私性。
DNSCrypt代理2功能包括:

  • 加密和认证的DNS流量,支持HTTP-over-HTTPS(DoH)和DNSCrypt
  • DNS查询监视,具有用于常规和可疑查询的单独的日志文件
  • 过滤:阻止广告,恶意软件和其他有害内容
  • DNS缓存,以减少延迟并提高隐私性
  • 本地IPv6阻止以减少纯IPv4网络上的延迟
  • 负载平衡:选择一组解析器,dnscrypt-proxy将自动测量并跟踪其速度,并在最快的解析器之间平衡流量
  • 解析程序列表的自动后台更新
  • 兼容DNSSEC

您可以通过访问项目来查看完整的DNSCrypt Proxy v2功能列表 页面
与v1相比,2.0系列的DNSCrypt Proxy于2月首次稳定发布,在Go中进行了重写,它支持DNS-over-TLS和DNS-over-HTTP,还支持DNS缓存。与旧版v1不兼容的新配置文件格式。
DNSCrypt Proxy v2可在Debian Testing和Unstable信息库以及Ubuntu 18.10和19.04信息库中使用。还有一个适用于Ubuntu 18.04和Linux Mint 19的PPA。PPA具有适用于较早版本的Ubuntu / Linux Mint的软件包,但我不能为了使其正常工作,因此本文仅针对Ubuntu 18.04,Ubuntu 18.10,Ubuntu 19.04,Linux Mint 19.x,Debian Unstable和Debian Testing提供说明。
附带说明,对于Windows用户,有一个简单的DNSCrypt Proxy管理工具,称为 简单的DNSCrypt
在本文中:

如何在Ubuntu 19.04 / 18.10或Debian Unstable /测试中安装和启用DNSCrypt Proxy 2

Ubuntu 18.10是第一个在其存档中包含新DNSCrypt Proxy 2的Ubuntu版本,该软件包是从Debian导入的,因此也可以在Debian Unstable and Testing中使用。如果您使用的是较旧的dnscrypt-proxy(< 2.0)版本安装,清除并重新安装它,因此将安装其新配置:

sudo apt purge dnscrypt-proxy

要在Ubuntu 19.04或18.10或Debian Unstable / Testing中安装dnscrypt-proxy,请使用以下命令:

sudo apt install dnscrypt-proxy

若要使用DNSCrypt代理2,将DNS更改为 127.0.2.1 在您的网络配置中。如何更改此设置取决于您使用的桌面环境。
例如,在具有Gnome桌面(有线网络)的Ubuntu 18.10中,转到 System Settings > Network,点击您所连接的网络旁边的齿轮图标,然后在 IPv4 选项卡禁用 Automatic 在旁边 DNS,然后输入 127.0.2.1 作为DNS服务器,如以下屏幕截图所示:
更改DNS Ubuntu 18.10网络

您还需要使用滑块(在屏幕快照中的(1)旁边)禁用并重新启用网络,或者从命令行重新启动它:

sudo systemctl restart NetworkManager

对于WiFi,请转到 System Settings > WiFi 记住要重新启动WiFi网络以使用新的DNS。在Debian Unstable / Xfce测试中,右键单击面板中的网络小程序并选择 Edit Connections接下来,选择您的活动连接,然后单击底部的齿轮图标进行编辑。 IPv4 Settings 标签选择 Automatic (DHCP) addresses onlyMethod 下拉菜单,然后输入 127.0.2.1 在“ DNS服务器”字段中,然后单击 Save
更改DNS Debian Xfce

接下来,再次在面板中右键单击网络小程序,然后单击 Enable Networking 一次将其禁用,然后再次单击以重新启用网络。您也可以使用以下命令重新启动它:

sudo systemctl restart NetworkManager

如何在Ubuntu 18.04或Linux Mint 19.x中安装和启用DNSCrypt Proxy 2

DNSCrypt Proxy v2并未加入Ubuntu 18.04档案库,但它具有官方的PPA,您可以用来安装它并接收将来的更新.PPA与Ubuntu 18.04,Ubuntu 16.04,Linux Mint 19.x和Linux Mint兼容18.x.,但是从此PPA获取DNSCrypt代理2不能在Ubuntu 16.04或Linux Mint 18上正常运行,所以下面的说明仅适用于Ubuntu 18.04和Linux Mint 19.x.在添加PPA之前并安装DNSCrypt Proxy v2,请确保使用以下命令清除dnscrypt-proxy(如果以前已将其安装在系统上):

sudo apt purge dnscrypt-proxy

现在,您可以添加PPA并在Ubuntu 18.04或Linux Mint 19中安装DNSCrypt Proxy v2:

sudo add-apt-repository ppa:shevchuk/dnscrypt-proxy
sudo apt update
sudo apt install dnscrypt-proxy

现在,您需要将DNS服务器更改为 127.0.2.1 在您的网络设置中,如何更改此设置取决于您使用的桌面环境。在Ubuntu 18.04(Gnome)中,它类似于Ubuntu 19.04 / 18.10(这与上面的Ubuntu 19.04 / 18.10的屏幕快照中的代码完全一样): System Settings > Network,单击要连接的网络旁边的齿轮图标,然后在“ IPv4”标签中禁用 Automatic 在旁边 DNS,然后输入 127.0.2.1 作为DNS服务器。通过禁用并重新启用所连接网络旁边的滑块来重新启动网络,或使用以下命令重新启动它:

sudo systemctl restart NetworkManager

对于WiFi网络,请转到 System Settings > WiFi 请记住重新启动WiFi网络以使用新的DNS。例如,在Linux Mint 19 Cinnamon中,左键单击底部面板中的网络小程序并选择 Edit Connections接下来,选择您的活动连接,然后单击底部的齿轮图标进行编辑。 IPv4 Settings 标签选择 Automatic (DHCP) addresses onlyMethod 下拉菜单,然后输入 127.0.2.1 在“ DNS服务器”字段中,然后单击 Save
更改DNS Linux Mint 19肉桂

接下来,再次右键单击底部面板中的网络小程序,单击 Enable Networking 一次将其禁用,然后再次单击以重新启用网络。您也可以使用以下命令重新启动它:

sudo systemctl restart NetworkManager

如何检查您是否正在使用DNSCrypt代理

有多种方法可以检查您是否正在使用DNSCrypt Proxy,以及正在使用的当前DNS。请使用下面的第一种方法来检查DNSCrypt Proxy是否在您的系统上真正起作用,以及另外两种,如果您要检查什么是计算机上正在使用的DNS(全部都可用于检查您是否正在使用DNSCrypt代理,但第一个是最可靠的)。
I.检查您是否正在使用DNSCrypt Proxy的最好方法是停止服务。由于该服务已停止,因此DNS解析不再起作用,请确认该服务运行时DNSCrypt Proxy实际上正在使用中。
使用以下命令停止DNSCrypt代理服务/套接字:

sudo systemctl stop dnscrypt-proxy.socket
sudo systemctl stop dnscrypt-proxy

现在尝试ping一个域,例如google.com:

ping google.com

域不应该解析,引发错误,如下所示:

$ ping google.com
ping: google.com Name or service not known

既然您已经确认使用了DNSCrypt代理,请使用以下命令再次启动其服务/套接字:

sudo systemctl start dnscrypt-proxy
sudo systemctl start dnscrypt-proxy.socket

II。要检查当前使用的DNS的实际IP(例如,如果您使用的是Google的8.8.8.8和8.8.4.4 DNS,则实际IP并非这两者中的任何一个),可以查看一下该命令的输出:

dnscrypt-proxy -resolve google.com

例如,使用由vultr.com托管的de.dnsmaschine.net DNS服务器,它是输出(请参阅最后一行,称为 Resolver IP):

$ dnscrypt-proxy -resolve google.com
Resolving [google.com]

Domain exists:  yes, 4 name servers found
Canonical name: google.com.
IP addresses:   74.125.24.113, 74.125.24.139, 74.125.24.100, 74.125.24.138, 74.125.24.101, 74.125.24.102, 2404:6800:4003:c03::71
TXT records:    facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95 v=spf1 include:_spf.google.com ~all docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e
Resolver IP:    209.250.235.170 (209.250.235.170.vultr.com.)

III。您可以使用DNS泄漏测试仪网站找到当前的DNS解析器。 完美的隐私DNS泄漏测试DNS泄漏测试 的ExpressVPN, ipleak.net 等等。

(可选)如何更改DNSCrypt代理2 DNS服务器

使用其默认配置,DNSCrypt Proxy 2会自动从服务器中选择运行速度最快的服务器。 公共服务器列表,与DNSCrypt Proxy 2配置文件中设置的过滤器匹配。
DNSCrypt Proxy 2 PPA中的软件包就是这种情况,而Ubuntu 19.04和18.10存储库中可用的软件包则不是这种情况。在Ubuntu 19.04 / 18.10中,DNSCrypt Proxy 2默认为CloudFlare DNS。
如果要更改DNSCrypt Proxy 2服务器,则需要编辑 /etc/dnscrypt-proxy/dnscrypt-proxy.toml 配置文件以root用户身份运行。要使用Gedit(默认的Gnome文本编辑器)以root用户身份打开此文件,可以使用以下命令:

gedit admin:///etc/dnscrypt-proxy/dnscrypt-proxy.toml

更换 gedit 使用您选择的图形文本编辑器(例如 xed,它是Linux Mint Cinnamon等中的默认文本编辑器。)您可能会对以下内容感兴趣:gksu从Ubuntu删除,这是推荐的替代品
或者,如果要使用Nano命令行编辑器,请使用:

sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

接下来,在此文件中取消注释 server_names 如果已注释掉该行(对于PPA软件包,它应该在注释顶部附近;取消注释该行意味着删除该PPA软件包) # 如果有的话,请从行的开头进行签名)。
复制服务器名称(从 Name 列)您要从中使用 这个页面,并将其添加到 server_names/etc/dnscrypt-proxy/dnscrypt-proxy.toml例如,如果您只想添加一台服务器,则server_names值应如下所示:

server_names = ['server']

如果要添加多个DNS服务器,则应如下所示:

server_names = ['server1', 'server2', 'server3']

更改DNSCrypt Proxy 2配置文件后,您需要重新启动其systemd服务,否则更改将不会应用,直到您重新启动。您可以使用以下命令重新启动DNSCrypt Proxy 2:

sudo systemctl restart dnscrypt-proxy

所有DNSCrypt Proxy 2选项都可以通过编辑 /etc/dnscrypt-proxy/dnscrypt-proxy.toml 配置文件。
如果您使用的是PPA软件包,则所有DNSCrypt Proxy 2配置选项都已在 /etc/dnscrypt-proxy/dnscrypt-proxy.toml 文件。
对于Ubuntu 19.04 / 18.10和Debian Testing and Unstable,存储库中可用的DNSCrypt Proxy 2软件包附带一个简化的配置文件,其中仅列出了几个选项。 dnscrypt-proxy.toml的GitHub 不过,请在您的计算机上复制要使用的选项(并取消注释) /etc/dnscrypt-proxy/dnscrypt-proxy.toml
不要改变 listen_addresses 值(保留为空),因为它可能会导致DNSCrypt Proxy 2停止工作。如果必须更改DNSCrypt Proxy 2侦听地址(默认为 127.0.2.1 在Debian和Ubuntu中),方法是编辑 dnscrypt-proxy.socket 文件。

Sidebar