这是使用go语言开发的一款DNS客户端,支持google DNS-over-HTTPS,并且能够有效加密所有的DNS流量。
这款工具的目的其实是通过利用递归DNS解析器进行通信来提供一个安全、可缓存的DNS代理,而不仅仅只是加密信道。现在,它的解析NDS查询已经远不止HTTPS/1.1中的几个独立的线程。今后,该工具还将支持HTTP/2.0、QUIC,并且能够提供更好的缓存以及解析器(例如使用OpenDNS的OpenResolve)。
从最新的发布的版本上下载一个预先建立好的二进制文件,(或者直接建立你自己的二进制文件)。
然后在端口53上运行dingo来进行root,例如在linux上运行如下命令:
$ sudo./dingo-linux-amd64 -port=53
更新DNS配置,在Linux上编辑/etc/resolv.conf作为root(记住一定要备份)
$ sudo sh -c"echo nameserver 127.0.0.1 > /etc/resolv.conf"
如果想更改谷歌默认的DNS-over-HTTPS服务器的IP地址,可以使用-gdns 。首先,解析dns.google.com到IP地址,它应该会为你分配最接近你的服务器:
$ hostdns.google.com dns.google.com hasaddress 216.58.209.174 dns.google.com hasIPv6 address 2a00:1450:401b:800::200e
接下来,将它传递给dingo。如果你更喜欢IPv6 ,可以将该地址用方括号括起来。
$ sudo./dingo-linux-amd64 -port=53 -gdns:server=[2a00:1450:401b:800::200e]
查看所有选项运行dingo -h即可:
Usage of dingo: -bind string IP address to bind to (default"0.0.0.0") -dbg int debugging level (default 2) -gdns:edns string Google DNS: EDNS client subnet (set0.0.0.0/0 to disable) -gdns:nopad Google DNS: disable random padding -gdns:server string Google DNS: web server address (default"216.58.209.174") -gdns:sni string Google DNS: SNI string to send (shouldmatch server certificate) (default "www.google.com") -gdns:workers int Google DNS: number of independentworkers (default 10) -port int listen on port number (default 32000)
另外还需要注意的一点是,在默认情况下dingo是绑定到所有接口的,这也就说明它是完全开放的(除非你运行了防火墙),事实上没有考虑将它绑定到127.0.0.1,也正是因为此。
最后,你还需要设置dingo为开机自动。另外在linux中你可能想要使用GNU屏幕,你可以选择在后台进程中启动,例如你可以将下面的这一行添加到/etc/rc.local:
Screen -dmS dingo/path/to/bin/dingo -port=53 -bind=127.0.0.1 -gdns:server=[2a00:1450:401b:800::200e]
还没有评论,来说两句吧...