zoukankan      html  css  js  c++  java
  • Centos7下dnscrypt-proxy安装

      DNS劫持指的是“一些设备”会拦截DNS解析请求,并将错误的DNS信息返回给主机;DNS污染指的是“一些设备”会将错误的域名信息下发至公共的DNS服务器中(比如114),这样用户在进行DNS查询的时候将会得到错误的IP信息。针对这两个问题,可通过搭建基于TCP且加密的DNS代理服务器来解决。 

    1、安装依赖包libsodium

    wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz
    tar -xvzf libsodium-1.0.10.tar.gz 
    cd libsodium-1.0.10/
    CFLAGS="-O3 -fPIC" ./configure
    make && make install
    echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
    sudo ldconfig

    2、安装dnscrypt-proxy

    wget https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.7.0.tar.gz
    tar -xvzf dnscrypt-proxy-1.7.0.tar.gz 
    cd dnscrypt-proxy-1.7.0/src/libevent-modified/
    CFLAGS="-O3 -fPIC" ./configure
    make && make install
    cd ../..
    echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
    sudo ldconfig
    ./configure 
    make -j 2 && make install

    3、运行并加入开机自启动

    [root@localhost ~]# /usr/local/sbin/dnscrypt-proxy -R yandex -E --local-address=0.0.0.0 -d
    [root@localhost ~]#  vi /etc/rc.d/rc.local
    #添加如下一行
    /usr/local/sbin/dnscrypt-proxy -R yandex -E --local-address=0.0.0.0 -d
    [root@localhost ~]#  chmod +x /etc/rc.d/rc.local

      /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv中存放了已经支持dnscrypt查询的公共dns,上边表达式中的“-R yandex”代表的是这个文档中第一列的name。

    4、验证

      由以下运行结果可以看到,在解析facebook.com这个网址时,本机上的dnscrypt-proxy能够解析正确,而114和8.8解析出来的都是被墙篡改过的IP。

    [root@localhost ~]# dig facebook.com +short @114.114.114.114
    93.46.8.89
    [root@localhost ~]# dig facebook.com +short @8.8.8.8
    93.46.8.89
    [root@localhost ~]# dig facebook.com +short @8.8.8.8
    78.16.49.15
    [root@localhost ~]# dig facebook.com +short @127.0.0.1
    157.240.3.35
    [root@localhost ~]# dig facebook.com +short @127.0.0.1
    157.240.3.35

      如果想用这个DNS代理的话,只需要将系统的DNS服务器配置为该服务器即可(该服务器上需要开放 UDP:53端口)。当然,以上只解决了DNS解析的问题,“一些设备”还有IP封锁等等机制来过滤相应网站。

  • 相关阅读:
    Mysql --09 Innodb核心特性——事务
    Mysql--08 存储引擎
    MySQL--07 explain用法
    100个网路基础知识
    MySQL06-- mysql索引
    MySQL05-- 客户端工具及SQL语句
    Length of Last Word
    c++将文件之间编译关系降到最低
    c++ string.c_str()小结
    word ladder
  • 原文地址:https://www.cnblogs.com/zhenyuyaodidiao/p/6012804.html
Copyright © 2011-2022 走看看