Centos7 安装 dnscrypt-wrapper, 以及Mac下dnscrypt-proxy的使用

dnscrypt-wrapper 和dnscrypt-proxy 在一起搭一个私有的本地dns服务器,可以避免很多网站被解析到一些不正确的IP,其中wrapper是负责接上游dns服务器,proxy提供本地dns解析服务,下面是安装使用方法。

下面将要介绍的安装和使用方法针对的软件版本是:

dnscrypt-wrapper 0.2.2-44.ge99f43e

dnscrypt-proxy 1.9.4

Centos 7安装 dnscrypt-wrapper 需要自己编译,但是并不复杂。

1、安装 epel-releasse

yum install -y epel-release

2、安装 git,libevent-devel 和 libsodium-devel

yum group install -y "Development Tools"

yum install -y git

yum install -y libevent-devel

yum install -y libsodium-devel

3、执行ldconfig

ldconfig

5、安装dnscrypt-wrapper.git

git clone --recursive git://github.com/cofyc/dnscrypt-wrapper.git

cd dnscrypt-wrapper

make configure

./configure

make install

6、创建一个新目录保存 dnscrypt-wrapper需要的证书文件。

mkdir ~/dns

cd ~/dns

7、生成provider证书

生成provider证书后,程序会输出一串 Provider public key,这个key后面在  dnscrypt-proxy  会用到。同时目录下会生成:public.key 和 secret.key 两个文件。

Provider public key:4F39:88BD:B33D:BDA1:EE91:1886:F4B0:2A29:6C71:CFDE:372E:CDD4:382C:B609:C7FE:9061

dnscrypt-wrapper --gen-provider-keypair

8、生成crypt证书

完成下面步骤后会生成两个文件: 1.key 和 1.cert

dnscrypt-wrapper --gen-crypt-keypair --crypt-secretkey-file=1.key

dnscrypt-wrapper --gen-cert-file --crypt-secretkey-file=1.key --provider-cert-file=1.cert \

--provider-publickey-file=public.key --provider-secretkey-file=secret.key \

--cert-file-expire-days=365

9、启动 dnscrypt-wrapper

按照上面的步骤完成后,我们就可以启动 dnscrypt-wrapper 了。

dnscrypt-wrapper --resolver-address=8.8.8.8:53 --listen-address=0.0.0.0:5553 \

--provider-name=2.dnscrypt-cert.gogo.com \

--crypt-secretkey-file=1.key --provider-cert-file=1.cert

这里稍微解释一下 dnscrypt-wrapper 的命令行参数:

--resolver-address 指的是用哪个上游dns服务器解析dns请求

--listen-address 指本地监听哪个ip和端口,对外服务,地址一般是0.0.0.0,端口号这里用的是 5553,这样可以不需要root权限启动

--provider-name 必须以 2.dnscrypt-cert.开始,后面用个什么域名无所谓

--crypt-secretkey-file和--provider-cert-file 指明 前面生成的证书文件的路径。

-V 显示log

10、Mac 安装 dnscrypt-proxy

最简单的办法就是用brew,这里就不介绍安装brew的方法了。

brew install dnscrypt-proxy

11、启动 dnscrypt-proxy

dnscrypt-proxy --local-address=127.0.0.1:53 \

--resolver-address=38.83.104.146:443 \

--provider-name=2.dnscrypt-cert.gogo.com \

--provider-key=4F39:88BD:B33D:ADA1:EE01:1886:F4B0:2A19:6C71:CFDE:372E:CDD4:382C:B609:C7FE:9060

12、通讯成功

如果通讯成功会有类似下图的信息

Centos7 安装 dnscrypt-wrapper, 以及Mac下dnscrypt-proxy的使用_第1张图片

启动成功以后,把本地的dns服务器设成127.0.0.1。就开始使用 dnscrypt-proxy解析域名了。

13、一些注意事项

Centos 7开始使用 firewalld 作为防火墙,如果你发现程序可以启动,但是服务连接不上,那很可能是防火墙的问题。可以通过下面的命令来检查是否有防火墙。

sudo iptables -L


Centos7 安装 dnscrypt-wrapper, 以及Mac下dnscrypt-proxy的使用_第2张图片

如果命令的输出不像上面的图一样,那么说明有防火墙设置。

检查是否是启用了firewalld

systemctl status firewalld


Centos7 安装 dnscrypt-wrapper, 以及Mac下dnscrypt-proxy的使用_第3张图片

上面的输出说明,服务器启动了firewalld。

如果发现有防火墙设置,可以先关闭防火墙,再重新启动一下 dnscrypt-proxy

你可能感兴趣的:(Centos7 安装 dnscrypt-wrapper, 以及Mac下dnscrypt-proxy的使用)