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..tar.gz
cd libsodium-1.0./
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..tar.gz
cd dnscrypt-proxy-1.7./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 && 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封锁等等机制来过滤相应网站。
Centos7下dnscrypt-proxy安装的更多相关文章
- centos7下使用yum安装mysql
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 wget http://repo.mysql.com/m ...
- [转]Centos7下caffe的安装
Centos7下caffe的安装 原文地址:http://blog.csdn.net/s2392735818/article/details/49796017 版权声明:本文为博主原创文章,未经博 ...
- centos7下搜狗输入法的安装教程
相信用过centos自带的输入法的朋友都会感叹这也实在是太难用了吧,使用拼音打出来的词总是不能在前几个匹配到,即使是一些常用词也是如此,简直无法忍受跟个zz似的.吐槽完了,这里给出centos7下搜狗 ...
- centos7下使用yum安装pip
centos7下使用yum安装pip 首先安装epel扩展源: yum -y install epel-release 更新完成之后,就可安装pip: yum -y install python-pi ...
- Centos7 下的SVN安装与配置
Centos7 下的SVN安装与配置 1.关闭防火墙 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临 ...
- CentOS7 下源码安装 python3
CentOS 7 下源码安装 python3 在CentOS7下,默认安装的是python2.7:为满足项目要求,安装python3 的方法如下: 1. 首先安装python3.6可能使用的依 ...
- CentOS7下RabbitMQ服务安装配置
参考文档: CentOS7下RabbitMQ服务安装配置 http://www.linuxidc.com/Linux/2016-03/129557.htm 在linux下安装配置rabbitMQ详细教 ...
- centos7下使用yum安装redis
centos7下使用yum安装Redis 第一步:安装 yum –y install redis 第二步:启动 systemctl start redis.service 第三步:设置开机启动 sys ...
- CentOS7下NFS服务安装及配置固定端口
CentOS7下NFS服务安装及配置 系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1. ...
- CentOS7下使用YUM安装mariadb10
1:由于centos7 默认使用yum安装MySQL的话就会安装mariadb,只是安装的版本停留在mariadb5.x,版本比较低.如果我们需要安装mariadb10这里就需要删除mariadb-l ...
随机推荐
- C# 的一些语法特性
1.? -NullableC# 里像int,bool,double 这样的struct和enum类型都不能为null.如果确实想在值域上加上null的话,Nullable就派上用场了.T?是Nulla ...
- 美萍超市销售管理系统标准版access数据库密码mp611
美萍超市销售管理系统标准版access数据库密码mp611 作者:admin 来源:本站 发表时间:2015-10-14 19:01:43 点击:199 美萍超市销售管理系统标准版access后 ...
- 【java基础学习】网络编程
网络编程 InetAddress tcp udp
- iOS常见算法(二分法 冒泡 选择 快排)
二分法: 平均时间复杂度:O(log2n) int halfFuntion(int a[], int length, int number) { int start = 0; int end = l ...
- scala中的数组的转换操作
1.共有两种操作 转换成一种新的数组 2.yield转换 3.函数式编程转换
- 轻量级ORM-Fluentdata入门
Fluent Data 入门 由 Primates 根据互联网资源整理FluentData 是微型 ORM(micro-ORM)家族的一名新成员,旨在比大型 ORM(full ORM)更加易用.Flu ...
- Hyper-V 与Broadcom网卡兼容问题
最近在测虚拟机时,碰到一个网卡和Hyper-V不兼容问题,现在共享给大家参考,希望对大家有帮忙. 故障描述: Dell R720 Windows 2012操作系统下的Hyper-V环境后,虚拟机网络速 ...
- rbd cache (一)
cache 1.why The existence of cache is based on a mismatch between the performance characteristics of ...
- 异常:java.io.IOException: Too many open files:
原因: 操作系统的中打开文件的最大句柄数受限所致,常常发生在很多个并发用户访问服务器的时候.因为为了执行每个用户的应用服务器都要加载很多文件(new一个socket就需要一个文件句柄),这就会导致打开 ...
- git 添加 文件到GitHub
用pycharm写代码,暂时不太了解它的版本控制方式,使用git托管到 GitHub. 1. 在被提交的文件夹下,运行 git init,初始化git; 2. 添加需要提交的文件, git add ...