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、运行并加入开机自启动

[[email protected] ~]# /usr/local/sbin/dnscrypt-proxy -R yandex  --local-address=0.0.0.0 -d
[[email protected] ~]#  vi /etc/rc.d/rc.local
#添加如下一行
/usr/local/sbin/dnscrypt-proxy -R yandex  --local-address=0.0.0.0 -d
[[email protected] ~]#  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。

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

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

时间: 2024-08-04 15:15:31

Centos7下dnscrypt-proxy安装的相关文章

Centos7下Apache详细安装配置及证书申请SSL配置介绍

首先说到Centos大家都已经非常熟悉了,所以我们也就不多介绍关于Centos具体发展了,我们首先知道在Centos7之前版本命令和ReadHat的命令完全一样的,可Centos从6.0版本升级到Centos7版本之后,命令及功能上有了很大的变化,最明显的差别就是从安装的操作界面及操作命令上已经有很大变化了,更不用说功能上的变化了,比如centos6.x版本的iptalbes到centos7的firewall的变化,当然,变化了很多,我也就不多说了,今天呢,主要给大家介绍一下再Centos7下A

CentOS7 下源码安装MySQL 8.0.11

CentOS7 下源码安装MySQL 8.0.11 系统环境:CentOS7, 内核:Linux 3.10.0-862.el7.x86_64 如果有旧版本的MySQL,先卸载,用下面命令来查询出系统有哪些相关的MySQL包. rpm -qa | grep mysql 如果上述命令查询出有相关的MySQL包,就卸载 rpm -e 包名 卸载MariaDB包 yum remove mariadb-libs.x86_64 从MySQL官网下载源码包,并将该文件拷贝到系统中. https://dev.m

linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例

linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例本文章适合已经熟悉安装过程,需要快速部署使用初学者建议分步学习:https://edu.51cto.com/course/15530.html linux.x64_11gR2_database_1of2.zip (oracle官网下载)linux.x64_11gR2_database_2of2.zip (oracle官网下载)rlwrap-0.42.tar.gz (51CTO下载里搜)三个安装包: 一.上传安装包 mk

CentOS7下yum方式安装mysql5.6

在Centos7中用MariaDB代替了mysql数据库.所以在新安装MySQL前必须做好对系统的清理工作. 一.清理CentOS7下的MariaDB. [[email protected] ~]#rpm -qa | gremp mariadb         [[email protected] ~]# rpm -e --nodeps mariadb.x86_64 1:5.5.41-2.el7_0 二.下载MySQL的yum包 Linux系统自带的repo是不会自动更新每个软件的最新版本(基本

CentOS7下源码安装5.6.23

清理CentOS7下的MariaDB. [[email protected] ~]#rpm -qa | gremp mariadb     [[email protected] ~]# rpm -e --nodeps mariadb.x86_64 1:5.5.41-2.el7_0 下载源码 [[email protected] ~]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz 2.解压 [[emai

Centos7下Mysql8.0安装手册 以及 一些坑点总结

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) 默认编码utf8默认编码使用utf8mb4, utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符历史,MySQL数据库的 "utf8"并不是真正概念里的 UTF-8.MySQL中的"utf8"编码只支持最大3字节每字符.真正的大家正在使用

centos7下python2环境安装pip2、kazoo、bottle、beaker

摘自:https://mp.weixin.qq.com/s?src=11&timestamp=1576355125&ver=2034&signature=mNp2na6VjFzT9n3FiDC0ICOWiHP4UJnqa1oTvkwEzuc7LPHYEyveSSBfQOq9*kM7vFjS4xB7QNtHYAev9CgCtGC2U0tkVNf0L6hwTGFjhleUT3CkPqu61mlqP-GTdr*4&new=1 一.centos7 下为自带的python2.7安装p

CentOS7下Nginx的安装配置

一.安装编译工具及库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 环境要求 nginx是C语言开发,建议在linux上运行,本文章使用Centos7作为安装环境. 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进

centos7下Redis3的安装与使用

redis是一个开源的,使用C语言编写的,支持网络交互的,可基于内存也可持久化的Key-Value数据库. 一.安装redis 下载redis源码 > wget http://download.redis.io/releases/redis-3.2.6.tar.gz 解压安装 > tar xf redis-3.2.6.tar.gz > cd redis-3.2.6 > make PREFIX=/data/redis install 把redis自带的启动脚本复制到/etc/init

CentOS7下yum方式安装nginx

最近把centos升级到7,发现用之前的一些安装nginx的方法安装后有依赖包冲突,估计是 linux版本和nginx版本不匹配导致. 上官网查看文档, 有针对centos7的安装方法,记录下: step1:  创建yum数据源文件   /etc/yum.repos.d/nginx.repo step2: 编辑nginx.repo文件内容如下并保存 [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basear