使用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里输入这个命令:

  1. 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了。

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

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

然后用这个指令来启动:

  1. sudo start dnscrypt

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

  1. sudo stop dnscrypt

原文发布时间:2014-06-22

本文来自云栖合作伙伴“linux中国”

使用DNSCrypt来加密您与OpenDNS之间的通信相关推荐

  1. IOS之RSA加密解密与后台之间的双向加密详解

    IOS之RSA加密解密与后台之间的双向加密详解 序言 因为项目中需要用到RSA加密,刚开始也是有点乱,这两天也整理的差不多了,希望能帮到大家. 这次先上代码,我想大部分人肯定是着急解决问题,所以不要废 ...

  2. 客户端和服务器之间的信息结构,客户端与服务器之间的通信过程

    客户端与服务器之间的通信过程 内容精选 换一换 一.HTTP概念超文本传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必 ...

  3. kubernetes 控制平台和节点之间的通信

    这篇文章也是翻译的官网:Control Plane-Node Communication 这篇文章主要罗列(catelogs)控制平台(更确切的说是apiserver)和工作节点(nodes)之间的通 ...

  4. Linux 进程及进程之间的通信机制——管道

    参考: LInux C编程从初学到精通 电子工业出版社 Linux 进程 Linux 进程简介 Linux是一个多用户多任务的操作系统,多用户是指多个用户可以在同一时间使用同一台计算机系统:多用户是指 ...

  5. vue中子组件和子组件之间怎么通信_vue.js组件之间如何通信?

    vue.js组件之间如何通信?下面本篇文章就来给大家介绍一下Vue.js组件间通信方式.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 平时在使用Vue框架的业务开发中,组件不仅仅要 ...

  6. JS每日一题: 小程序页面之间如何通信?

    20190227 小程序页面之间如何通信? 首先将通信的模型列举出来, 分为以下几种 兄弟页面间通信 父路径页面向子路径页面通信 子路径页面向父路径页面通信 通信的方式 localStorage 本地 ...

  7. java 本地通信_java – 本地JVM之间的通信

    我的问题:我可以/应该采用什么方法在本地运行的两个或多个JVM实例之间进行通信? 问题的一些描述: 我正在为一个项目开发一个系统,该系统需要单独的JVM实例来完全隔离某些任务. 在它运行时,'父'JV ...

  8. QT小例子GUI(主)线程与子线程之间的通信

    QT小例子GUI(主)线程与子线程之间的通信 在主线程上,可以控制子线程启动,停止,清零 如果子线程启动的话,每一秒钟会向主线程发送一个数字,让主线程更新界面上的数字. #ifndef TQT_H_ ...

  9. 【Android 应用开发】Activity生命周期 与 Activity 之间的通信

    一. Activity生命周期 上图 1. Activity状态 激活状态 : Activity出于前台 , 栈顶位置; 暂停状态 : 失去了焦点 , 但是用户仍然可以看到 , 比如弹出一个对话框 , ...

最新文章

  1. ubuntu bless 16字节每行
  2. 用GPUDirect RDMA技术做的代码测试
  3. MySQL分组函数的使用特点
  4. JsonMappingException: (was java.lang.NullPointerException)
  5. 【简便代码】1064 朋友数 (20分)_25行代码AC
  6. ArcGIS Server9.3+ArcGIS Desktop9.3破解安装(for microsoft .net)
  7. 一名运营,自学一年前端,成功入职杭州某独角兽企业,他的面试经验和学习方法等分享...
  8. 初识ABP vNext(12):模块的独立运行与托管
  9. 封装js千分位加逗号和删除逗号
  10. 理解Synchronized
  11. 官网免费下载VMware Workstation Pro及VMware Player[无需注册]
  12. 机器学习基础(三)——信息、信息熵与信息增益
  13. qtp 连接mysql_QTP连接mysql数据库
  14. 快解析结合绿盾文档加密软件
  15. 利用VS软件生成可执行的文件(.exe文件)
  16. python保存快捷键是什么_python中的快捷键
  17. 如何生成SSH key?
  18. 验证码的实现 与jQuery阻止跳转封装数据库工具类oracle
  19. Rust 调用标准C接口的自定义c/c++库,FFI详解
  20. SF58-ASEMI快恢复二极管SF58的发展意义

热门文章

  1. 【ESP32_8266_WiFi (十五)】ESP8266 OTA 操作说明
  2. 混沌映射singer map 和 logistic map分叉图
  3. 下载opencv3.4.2.16
  4. 2018武汉理工大学计算机考研真题+复试经验
  5. openVswitch(OVS)源代码之linux RCU锁机制分析
  6. 魅蓝5s的android系统版本,魅蓝5s(全网通)
  7. 北京智汇云舟科技:智慧城市实时实景数字孪生技术
  8. 场内基金和场外基金区别
  9. 陈一舟、开心网和域名事件
  10. IFR报告显示过去五年全球工业机器人销量翻番