文章

dns crypt客户端(含windows,linux)的使用。

  编辑于:2019-02-20
文章目录

前言

前面已经介绍过dns crypt的服务端ddnscrypt-wrapper的搭建。这里介绍一下客户端的使用。

windows

Windows下下载:https://github.com/jedisct1/dnscrypt-proxy/releases/download/2.0.15/dnscrypt-proxy-win32-2.0.15.zip
最新版本:https://github.com/jedisct1/dnscrypt-proxy/releases
解压,然后将里面的example-dnscrypt-proxy.toml重命名为dnscrypt-proxy.toml。然后运行service-install.bat即可,Windows版本自带了一些DNS服务器,因此你可以不用搭建自己的服务器,但是如果你要使用自己的服务器,请在https://dnscrypt.info/stamps/这里生成服务器信息,这里需要之前的类似于4298:5F65开头的信息,如果忘了这个信息,可以在服务端的/etc/dnscrypt-wrapper目录内执行

dnscrypt-wrapper --show-provider-publickey --provider-publickey-file public.key

来获取这个信息,当然如果你之前已经记录下来了sdns://开头的信息,则无需重新生成,直接使用该信息即可。
之后修改dnscrypt-proxy.toml,在[static]下面添加你的配置,形如

[static.'zorz']  #zorz可以改成你自己的
stamp = 'sdns://AgUAAAAAAAAAAAAOZG5zLmdvb2dsZS5jb20NL2V4cGVyaW1lbnRhbA'

如果不想使用自带的DNS服务器,仅使用自己的,修改[sources]下面的部分内容,改成如下样式

#  [sources.'public-resolvers']
#  urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v2/public-resolvers.md', 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md']
#  cache_file = 'public-resolvers.md'
#  minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
#  refresh_delay = 72
#  prefix = ''

也就是在这几行前面加上#
重启dnscrypt-proxy服务service-restart.bat
然后将本地的DNS服务器地址改为127.0.0.1即可。

linux

先安装dnscrypt-proxy这里以debian为例。

apt-get update
apt-get install dnscrypt-proxy

安装好配置一下

vi /etc/default/dnscrypt-proxy
#要修改的就只有如下几处,其他注释和配置已略去。
local-address=127.0.0.1:5301
#本地监听地址和端口
resolver-address=128.199.131.196:5353
#远端的服务器地址和端口
provider-name=2.dnscrypt-cert.logcg.com
provider-key=4298:5F65:C295:DFAE:2BFB:20AD:5C47:F565:78EB:2404:EF83:198C:85DB:68F1:3E33:E952
#先前使用dnscrypt-wrapper --gen-provider-keypair命令时候生成的指纹信息。

保存后使用如下命令重启客户端服务,如果你的端口没有被防火墙撸掉,那服务器那边就应该能够看到 debug 信息,表示已经有客户端接入。

service dnscrypt-proxy restart

当然也可以用下面的命令来调试客户端

dnscrypt-proxy --local-address=127.0.0.1:5353 --resolver-address=你的dnscrypt-wrapper服务器IP:端口 --provider-name=2.dnscrypt-cert.my --provider-key=你自己的wrapper的KEY --logfile=/var/log/dnscrypt-proxy.log
#这样运行的程序是一直在前台的,可以加入 -d 参数,后台运行,不过后台运行就不能调试了。

更多系统参考:https://github.com/jedisct1/dnscrypt-proxy/wiki/installation
参考链接:
https://www.logcg.com/archives/981.html
https://github.com/jedisct1/dnscrypt-proxy

发表回复