最近折腾了一下在VPS上使用DoH/DoT,以下是几个DNS服务器软件的使用感受。

AdGuard Home

用过OpenWrt的应该会很熟悉这个软件,功能丰富,有webUI,配置/更新相对简单,缺点是占用内存很多(70~170M)。

另外它会在二进制文件所在目录生成一些文件夹,这点我不太喜欢。

dnsproxy

应该是AdGuard Home的内核。占用内存15M左右,配置相对灵活。

但是文档写得很奇怪,README里说明了常用的命令行参数,仓库中提供的最简配置中的注释又是让我执行dnsproxy --help查看全部参数,而这些参数并不能直接用于配置文件中,最后选择直接查看源码(─.─||)。

dnscrypt-proxy

内存占用20M左右,配置选项特别多,你甚至可以指定加密套件。

支持的协议相对较少,只有DoH和DNSCrypt。


除了上述软件我还了解了unbounddnsdist或是用dnsmasq搭配其它软件等等,因为功能不符合我的需求或是配置太麻烦就没有深入体验。

我需要软件尽可能地支持DoH/DoT/DoH3/DoQ,能够配置多个上游服务器,以及基本的DNS缓存功能,最后选择的是dnsproxy

因为只是给VPS本地提供服务所以监听127.0.0.1:53即可,再修改/etc/resolv.conf为对应的地址:

nameserver 127.0.0.1
nameserver 1.1.1.1

另外再贴一下dnsproxy的配置:

listen-addrs:
- "127.0.0.1"
listen-ports:
- 53
bootstrap:
- "1.1.1.1:53"
upstream:
- "h3://1.1.1.1/dns-query"
- "https://8.8.8.8/dns-query"
- "tls://sandbox.opendns.com"
- "[/example.com/]1.1.1.1"
all-servers: true
timeout: '1s'
cache: true
cache-size: 524288
cache-optimistic: true
cache-min-ttl: 120
cache-max-ttl: 21600
max-go-routines: 100
ratelimit: 100

相关