使用DNSCrypt来加密您与OpenDNS之间的通信
正如SSL能将HTTP通信变为加密过的HTTPS通信,DNSCrypt, 物如其名, 是一款能加密您电脑与OpenDNS之间的通信的小神器。
DNSCrypt刚问世的时候,官方公布它只是一款Mac才能用的工具,但根据最近一篇由OpenDNS发的文章表明,虽然还没有用户界面,但其实当Mac版DNSCrypt推出的时候源码已经放到了Github上了, Linux的用户也可以安装以及使用哦!(LCTT译注:目前已经有DNSCrypt WinClient、DNSCrypt Windows Service Manager、DNSCrypt OSXClient 和 DNSCrypt Tools for Linux 等第三方图形界面客户端出现。)
为神马要使用 DNSCrypt?
DNSCrypt可以加密您电脑与OpenDNS服务器的所有通信,加密可以防止中间人攻击,信息窥觑,DNS劫持。更能防止网络供应商对某些网站的封锁。
这是世界上第一款加密DNS通信的工具,虽然TOR可以加密DNS的请求,但毕竟它们只是在出口节点加密而已。
这款工具并不需要对域名或其工作方式做任何的改变,它只是提供了个该工具的用户与机房里的DNS服务器之间的加密方式而已。
您可以在GitHub的OpenDNS DNSCrypt页面阅读更多的相关信息。
如何在Linux使用DNSCrypt
首先下载安装DNSCrypt (LCTT译注,安装过程不详述,请参照官网描述), 然后在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
- [1]来自 - 广东深圳 的 Firefox/Windows 用户 发表于 2015-06-13 00:28 的评论:虽然解决了dns被劫持、污染的问题,但却产生了容易被追踪的问题。这个软件与服务器通讯会发送一个身份验证的key,通过这个key就可以识别、锁定你,即使你更换了ip,甚至使用了vpn、隧道、代理。这个key是不变且唯一的,服务器始终知道是你。而且知道你一直在访问哪些网站。
- linux 2015-06-13 09:02 8 赞 回复
- 这是才出狼窝,又入虎穴么?:>
- [1]发表于 2014-06-23 11:49 的评论:"您可以在GitHub的OpenSND DNSCrypt页面阅读更多的相关信息。"
有错别字 SND => DNS - caroline 2014-06-24 14:02 4 赞 回复
- ⊙﹏⊙b汗……笔误,已更改
- 微博评论 2014-06-24 12:33 6 赞 回复
- 主页君,在windows下使用出现“unable to retrieve server certificates”的提示怎么破?而且GG还是无法登陆上去。不知有木有解决办法