首先我先贴俩图,看看现象

我解析下敏感域名

巧了,我瞎蒙的随便一个国外地址都特么是DNS ?

当然不是,因为祖国的出口伫立着一套高端设备,,,,   不说了,敏感了!

此法的基本思路是避免DNS污染和DNS劫持。(不关心原理的同学请跳过此段)众所周知,GFW的一大凶器是在DNS上做文章。关于DNS污染和DNS劫持的区别,请参考这篇文章。概括地说,DNS劫持是通过DNS服务器返回虚假的IP地址实现的,我们只需将本机使用的DNS服务器改成8.8.8.8等国外服务器即可。但这种方法无法避免DNS污染,因为DNS查询默认使用UDP协议,而墙可以干扰我们与DNS服务器的通信。今天介绍的dnscrypt-proxy,则开设本地的DNS服务器,对DNS请求进行加密(墙无法干扰加密后的请求),从国外的DNS服务器获取正确的IP地址后反馈回来,是为DNS代理的基本原理。

但这也就决定了,此法不可能成为通用的×××方法,因为GFW对于有些网站是直接通过IP地址屏蔽的。

平台:RHEL 6.6 x64 (CentOS)

dns服务器:Bind Server

yum源并没有dnscrypt-proxy,所以只能编译安装了

首先下载 dnscrypt-proxy

下载地址http://download.dnscrypt.org/dnscrypt-proxy/  (巧,这也被qiang了)

另外需要安装 libsodium依赖库 (我这里选择的是libsodium-0.5.0-mingw.tar.gz)

下载地址http://download.libsodium.org/libsodium/releases/

wget http://download.libsodium.org/libsodium/releases/libsodium-0.5.0-mingw.tar.gz
tar xf libsodium-0.5.0-mingw.tar.gz
cd cd libsodium-0.5.0
CFLAGS="-O3 -fPIC" ./configure
make  &&  make install
ldconfig

依赖库装好了,下面来安装 dnscrypt

上传dnscrypt-proxy-1.4.0.tar.gz至服务器

tar xf dnscrypt-proxy-1.4.0.tar.gz
cd dnscrypt-proxy-1.4.0
cd src/libevent-modified/
CFLAGS="-O3 -fPIC" ./configure
make && make install
cd ..
cd ..
./configure
make -j 2 && make install

安装好了

 dnscrypt-proxy -h   //显示帮助信息可用选项-a  --local-address=...   //监听的本地地址[端口] (不指定端口默认监听在53端口)-d   --daemonize        //后台运行(不提示错误信息)-R  --resolver-name=...  //选定的国外加密解析服务器-T  --tcp-only         //仅以TCP协议运行(默认监听在udp tcp上)-k                        //手动指定密钥串-V    --version          //版本信息

常用就这几个选项   更多详细帮助 man  dnscrypt-proxy

运行 dnscrypt-proxy 提示有错误,但是请注意这一条

这个文件中有默认的已经支持dnscrypt查询的公共dns  opendns也在其中。

我们来查看下这个文件  dnscrypt-resolvers.csv

第一行定义的是列标题,每个字段用逗号隔开,每一行开头就是 resolver_name

用法如下

dnscrypt-proxy --resolver-name=resolver_name --local-address=127.0.0.1:40 --daemonize
dnscrypt-proxy -R resolver_name -a 127.0.0.1:40 -d   //简写,监听在本地udp tcp40端口,远端加密dns选用resolver_name

不加-d参数 默认是前台运行

然后如果需要局域网开启加密访问,记得在iptables开启相应端口

最后在其他电脑上查询一下看是否生效,

dig www.youtube.com @*.*.*.* -p 3535
; <<>> DiG 9.10-P2 <<>> www.youtube.com @*.*.*.* -p 3535
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32356
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.youtube.com.               IN      A
;; ANSWER SECTION:
www.youtube.com.        86400   IN      CNAME   youtube-ui.l.google.com.
youtube-ui.l.google.com. 900    IN      CNAME   youtube-ui-china.l.google.com.
youtube-ui-china.l.google.com. 180 IN   A       173.194.72.138
youtube-ui-china.l.google.com. 180 IN   A       173.194.72.102
youtube-ui-china.l.google.com. 180 IN   A       173.194.72.100
youtube-ui-china.l.google.com. 180 IN   A       173.194.72.113
youtube-ui-china.l.google.com. 180 IN   A       173.194.72.101
youtube-ui-china.l.google.com. 180 IN   A       173.194.72.139
;; Query time: 872 msec
;; SERVER: *.*.*.*#3535(*.*.*.*)
;; WHEN: Sun Jan 11 99:29:00 ?D1ú±ê×?ê±?? 2015
;; MSG SIZE  rcvd: 205

解析是对了,但是并不代表 FQ  所以,这主要是搭配其他工具来实现FQ 。

转载于:https://blog.51cto.com/professor/1601753

bind + DNSCrypt 实现安全加密转发,避免DNS污染相关推荐

  1. Linux DNS配置权限不够,Linux下配置DNScrypt避免DNS污染

    关于DNScrypt DNSCrypt是OpenDNS发布的加密DNS工具,可加密DNS流量,阻止常见的DNS攻击,如重放攻击.观察攻击.时序攻击.中间人攻击和解析伪造攻击.DNSCrypt支持Mac ...

  2. 使用DNSCrypt解决DNS污染问题

    DNSCrypt是OpenDNS发布的加密DNS工具,可加密DNS流量,阻止常见的DNS攻击,如重放攻击.观察攻击.时序攻击.中间人攻击和解析伪造攻击.DNSCrypt支持Mac OS和Windows ...

  3. Linux bind安装问题-无法提供查询转发解析

    Linux bind 安装完成无法提供查询转发解析 需要将主配置文件/etc/named.conf文件中的dns安全扩展"dnssec-enable"与"dnssec-v ...

  4. 网站域名服务器加密,网站实现全站https加密可以防止DNS劫持吗?

    DNS劫持一般指域名劫持,它是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器的方法,把目标网站域名解析到错误的IP地址从而实现用户无法访问目标网站的目的或者蓄意或恶意要求 ...

  5. DNS,DNS污染劫持,DNS加密

    1. DNS(Domain Name System) DNS(Domain Name System), 也叫网域名称系统,是互联网的一项服务.它实质上是一个 域名 和 IP 相互映射的分布式数据库. ...

  6. 第十代酷睿 I7 IPSEC加密转发性能测试报告

    对第十代酷睿I7进行IPSEC加密转发性能测试,下图是组网图.两台I7的设备各自有2个独立的物理网口,其中网口L为LAN,网口W为WAN.发包测试仪采用晨晓科技的千兆发包仪. 针对不同报文长度,在不丢 ...

  7. php域名免备案转发,免备案高防CDN支持过墙域名跳转解决域名DNS污染

    免备案服务器联系咨询我 QQ:281846000 全国节点,自动切换,保证业务的安全和稳定 1.301跳转,解决域名被墙,国内免备案不限制内容服务器. 2.域名防劫持,DNS防护专属套餐,视频***C ...

  8. 如何防止DNS污染?

    对于DNS污染,一般除了使用代理服务器和VPN之类的软件之外,并没有什么其它办法.但是利用我们对DNS污染的了解,还是可以做到不用代理服务器和VPN之类的软件就能解决DNS污染的问题,从而在不使用代理 ...

  9. 使用 dnscrypt-proxy 防止 dns 污染

    今天发现上不了中文维基百科(zh.wikipedia.org),用了 VPN 也上不了.ping 了一下,发现得到的 IP 和世界各地的不一样.应该是 DNS 污染的问题. 几年前有个叫 DNSCry ...

  10. DNS污染是什么、DNS污染定义及原理分析

    网域服务器缓存污染(DNS cache pollution),又称域名服务器缓存投毒(DNS cache poisoning),是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的I ...

最新文章

  1. 美国科学家发现:AI跟人类一样,都是需要“睡觉”的
  2. python天天学怎么样-每天一遍,好好学习,天天向上(Python)
  3. 重构——39以多态取代条件表达式(Replace Conditional with Polymorphism)
  4. Oracle 密码过期问题
  5. python postmessage 鼠标_SilkTest高级进阶系列7-用PostMessage模拟鼠标
  6. 配置jupyter notebook到conda env虚拟环境里可运行
  7. 有多少人乘坐公交车时用NFC付钱?
  8. dp(0,1背包)-----高数Umaru系列(9)——哈士奇
  9. Linux glibc 库的修复方案扯出更严重的新漏洞
  10. 贵州大数据崛起背后的阿里云力量
  11. Idea安装Eslint插件详解 提示:Plugin NativeScript was not installed解决
  12. windows10 记事本进程 键盘消息钩子 dll注入
  13. 离散Hopfield神经网络的联想记忆—数字识别
  14. 红蓝药丸的选择:大脑在缸中还是颅中?
  15. java mp3合并_java合并MP3文件
  16. qq_seconds.html,qq英语名字汇总82句
  17. 联想拯救者y7000怎么配置Java环境_联想拯救者y7000重新安装系统教程
  18. 深入理解深度学习——语境词嵌入(Contextual Word Embedding)
  19. 造轮子--MLP与EBP的实现
  20. iso硬盘安装 凤凰os_系统之家ISO硬盘安装图解

热门文章

  1. Db2干净卸载Linux,在Linux/Aix环境下完全卸载DB2
  2. 【树上分块】【dfs序】2018沈阳网络赛 —— J题
  3. linux脚本中使用转义括号,Linux之shell中的大括号、中括号、小括号的使用详解+多示例...
  4. 简单的maven自定义webapp目录
  5. 服务器获取真实客户端 IP [ X-Forwarded-For ]
  6. Intellij IDEA创建maven项目无java文件问题
  7. AJAX 数据库实例
  8. linux:nohup 不生成 nohup.out的方法
  9. Proteus中8259的仿真[无dos,纯手工]
  10. netty中ChannelHandler执行顺序案例详解