大约从 2018 年开始,国外多家服务商都相继推出了自己的 DoH (DNS over HTTPS) 服务。在那之后的一段时间里,除了 红鱼 以外,国内几乎没有厂商提供 DoH 服务,所以我也一直迟迟没有让自建的 DNS 使用支持 DoH 的服务器来作为上游服务器。最近腾讯和阿里等国内服务商陆续开放了他们的 DoH 服务,测试之后发现性能还不错,于是我将公司 DNS 服务的上游也切换成了 DoH 服务器,下面是大致过程。
下载
For x86_64
1
| $ wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.tgz
|
For ARM
1
| $ wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz
|
安装
1 2
| $ tar -xzvf cloudflared-stable-linux-amd64.tgz $ sudo install -Dm755 cloudflared /usr/local/bin/cloudflared
|
测试
1 2
| $ sudo cloudflared proxy-dns --address 127.0.0.1 --port 1053 $ dig +short -p 1053 @127.0.0.1 baidu.com
|
配置
创建配置文件目录
1
| $ sudo mkdir /etc/cloudflared
|
编写配置文件
创建文件 /etc/cloudflared/config.yml
,内容如下:
1 2 3 4 5 6 7 8 9
| proxy-dns: true proxy-dns-port: 1053 proxy-dns-address: 127.0.0.1 proxy-dns-upstream: - https://dns.pub/dns-query - https://doh.pub/dns-query - https://223.5.5.5/dns-query - https://223.6.6.6/dns-query - https://rubyfish.cn/dns-query
|
设置为系统服务
1
| $ sudo cloudflared service install
|
修改 Dnsmasq 配置
删除以下选项:
添加以下选项:
no-resolv
server=127.0.0.1#1053