TranslateProject/published/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md

3.6 KiB
Raw Blame History

使用DNSCrypt来加密您与OpenDNS之间的通信

正如SSL能将HTTP通信变为加密过的HTTPS通信DNSCrypt, 物如其名, 是一款能加密您电脑与OpenDNS之间的通信的小神器。

DNSCrypt刚问世的时候官方公布它只是一款Mac才能用的工具但根据最近一篇由OpenDNS发的文章表明虽然还没有用户界面但其实当Mac版DNSCrypt推出的时候源码已经放到了Github上了 Linux的用户也可以安装以及使用哦

为神马要使用 DNSCrypt?

DNSCrypt可以加密您电脑与OpenDNS服务器的所有通信加密可以防止中间人攻击信息窥觑DNS劫持。更能防止网络供应商对某些网站的封锁。

这是世界上第一款加密DNS通信的工具虽然TOR可以加密DNS的请求但毕竟它们只是在出口节点加密而已。

这款工具并不需要对域名或其工作方式做任何的改变它只是提供了个该工具的用户与机房里的DNS服务器之间的加密方式而已。

您可以在GitHubOpenSND DNSCrypt页面阅读更多的相关信息。

如何在Linux使用DNSCrypt

首先下载安装Download DNSCrypt 然后在Terminal里输入这个命令:

sudo /usr/sbin/dnscrypt-proxy --daemonize

然后把您的DNS服务器调成"127.0.0.1" - 在GNOME界面下的话只要到Network Connections网络连接选项然后选择"Edit"并在"DNS servers"输入"127.0.0.1"就好了。如果您用的是DHCP的话请选择Automatic (DHCP) addresses only" 这样的话才能输入DNS服务器。然后只要重连网络便可。

您可以访问这条链接来测试您连接到了OpenDNS了没。

如果您想设置开机启动DNSCrypt可以自建一个init的脚本如果您用的是Ubuntu可以参考下面的。

Arch Linux的用户可以通过AUR来安装DNSCrypt-proxy 内含rc.d脚本

Ubuntu下的DNSCrypt

如果您想在Ubuntu设置开机启动您可以使用这个Upstart脚本

注: 在Ubuntu 12.04版在127.0.0.1有个本地的DNS cache 服务器dnsmasq在跑所以已经把改脚本改成让DNSCrypt使用127.0.0.2了, 所以按照上面的教程应该把127.0.0.1换成127.0.0.2了。

要安装此脚本请使用以下的指令(要首先解压下下来的压缩文件):

sudo cp dnscrypt.conf /etc/init/
sudo ln -s /lib/init/upstart-job /etc/init.d/dnscrypt

然后用这个指令来启动:

sudo start dnscrypt

现在DNSCrypt就应该是开机自启了如果您想停止的话可以使用

sudo stop dnscrypt

下载DNSCrypt (.deb、 .rpm以及源码都可供下载哦)


via: http://www.webupd8.org/2012/02/encrypt-dns-traffic-in-linux-with.html

译者:213edu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出