云网牛站
所在位置:首页 > Linux安全 > 使用DNS over TLS:在Linux上获得DNS隐私保护

使用DNS over TLS:在Linux上获得DNS隐私保护

2019-05-09 15:22:55作者:王沸稿源:云网牛站

本文介绍两种方法使用DNS over TLS,一是Stubby、二是Systemd-resolved。每天,您的计算机都会向互联网发送数千个DNS查询,在大多数情况下,您的操作系统不会保护这些查询,而具有适当技术诀窍的错误人员可能会侵犯您的隐私。DNSCrypt:这是获得DNS隐私保护的绝佳方式,但是它不是唯一的解决方案,另一种选择是通过DNS over TLS。

 

方法一、Stubby

Stubby是一个简单的程序,适用于某些Linux发行版,允许用户通过TLS发送DNS查询。

Stubby工具适用于Ubuntu Linux、Debian Linux和Arch Linux,安装非常的简单。参考在Ubuntu 18.04系统上安装Stubby并使用它保护你的DNS隐私

1、Ubuntu

要在Ubuntu上安装Stubby,首先需要启用Ubuntu“Universe”软件存储库,为此,请在终端窗口中使用apt-add-repository命令:

sudo add-apt-repository universe

参考:Ubuntu 18.04/16.04/Debian 9上安装add-apt-repository的方法

运行add-apt-repository命令后,是时候使用更新工具让Ubuntu检查软件升级,它还会将发布信息下载到Universe软件源并将其添加到您的系统中:

sudo apt update

更新命令完成后,使用Apt install命令在您的Ubuntu Linux操作系统上安装Stubby:

sudo apt install stubby

2、Debian

在Debian上,对于版本10,“Sid”Stubby工具可以在“Main”软件存储库中找到,要安装它,请启动终端窗口并使用下面的Apt-get命令:

sudo apt-get install stubby

3、Arch Linux

Arch Linux用户可以安装Stubby,如果他们设置了“Community”软件存储库,要进行设置,请编辑/etc/pacman.conf,滚动到文件底部,从“Community”前面删除#符号并更新系统。

设置“Community”后,使用Pacman包管理器安装Stubby应用程序:

sudo pacman -S stubby

现在已经设置了Stubby应用程序,因此无需修改任何配置文件,因为Stubby预设了一些支持TLS的优秀DNS服务。

注意:如果您希望更改DNS服务,请编辑/etc/stubby/stubby.yml。

使用Stubby设置DNS over TLS的最后一步是将默认DNS设置从您当前使用的任何地址更改为地址127.0.0.1。

根据您使用的Linux桌面环境,更改DNS设置可能会有所不同,但都是非常简单的,请根据自己的情况操作。

使用DNS over TLS:在Linux上获得DNS隐私保护

当DNS设置更改为127.0.0.1时,您的Linux计算机应该使用DNS over TLS了。

 

方法二、Systemd-resolved

虽然Stubby工具易于配置并且使得在Linux上通过DNS over TLS非常简单,但遗憾的是它并不适用于每个单独的发行版。

在Linux上配置DNS over TLS的Stubby程序的一个很好的替代方案是使用Systemd解析的DNS缓存系统,其主要原因是它内置于大多数Linux操作系统已经使用的Systemd init系统中,并且很容易开始使用,但是,在通过TLS设置Systemd-resolved for DNS之前,必须关闭当前使用的DNS缓存系统,以支持Systemd-resolved。

要设置Systemd-resolved系统,请启动命令行终端,然后使用systemctl命令禁用您使用的DNS缓存系统。

注意:如果您不使用DNS Masq或NSCD,您可能已经使用了Systemd-resolved,并且不需要禁用任何内容。

1、DNS Masq

sudo systemctl stop dnsmasq.service

sudo systemctl disable dnsmasq.service -f

2、NSCD

sudo systemctl stop nscd.service -f

sudo systemctl disable nscd.service -f

在Linux PC上关闭默认DNS提供程序后,就可以切换到Systemd-resolved,为此,请再次使用systemctl命令:

sudo systemctl enable systemd-resolved.service -f

sudo systemctl start systemd-resolved.service

通过Systemd启用该工具,我们可以将程序配置为使用DNS over TLS,首先,在Nano中启动该工具的配置文件:

sudo nano -w /etc/systemd/resolved.conf

使用DNS over TLS:在Linux上获得DNS隐私保护

参考:在Linux系统中安装Wget、Htop、Nano、Lynx、Fzf、Pydf的方法

使用Nano编辑Resolved.conf文件,然后向下滚动到DNS=。

在=符号后,添加一个安全的,支持TLS的DNS服务器,例如CloudFlare的隐私DNS服务器,比如以下示例:

DNS=1.1.1.1

接下来,向下移动到Domains=并将其更改为下面的代码:

Domains=~.

在“Domains”之后,向下移至DNSOverTLS=并将其更改为下面的代码:

DNSOverTLS=opportunistic

通过按Ctrl+O将编辑保存到Resolved.conf,然后使用Ctrl+X退出并重新启动DNS系统以通过Systemd-resolved启用DNS over TLS:

sudo systemctl restart  systemd-resolved

至此,目的达到。

 

相关主题

使用BIND9在Ubuntu 18.04上设置本地DNS解析器

精选文章
热门文章