为什么使用 DNS-Over-HTTPS?

DNS-Over-HTTPS 是一种协议,用于通过用于安全浏览 Web 的相同协议执行 DNS 查找:HTTPS。
使用标准 DNS,请求以纯文本形式发送,没有检测篡改或不当行为的方法。这意味着恶意行为者不仅可以查看您发出的所有 DNS 请求(以及您正在访问的网站),还可以篡改响应并将您的设备重定向到他们控制的资源(例如虚假登录网上银行页面)。
DNS-Over-HTTPS 通过使用标准 HTTPS 请求来检索 DNS 信息来防止这种情况。这意味着从设备到 DNS 服务器的连接是安全的,不会轻易被窥探、监控、篡改或阻止。但值得注意的是,上游 DNS-Over-HTTPS 提供商仍将具备此能力。

配置 DNS-Over-HTTPS

除了发布他们的 DNS 服务1.1.1.1之外,Cloudflare 还在他们的工具之一中实现了 DNS-Over-HTTPS 代理功能:cloudflared.
注意:该cloudflared二进制文件将与其他 DoH 提供商一起使用(例如,您可以https://8.8.8.8/dns-query用于 Google 的 DNS-Over-HTTPS 服务)。

安装cloudflared

下载安装程序包,然后用于apt-get安装该包以及任何依赖项。继续运行带有-v标志的二进制文件以检查它是否正常工作:
您可以在 https://github.com/cloudflare/cloudflared/releases 上找到所有cloudflared二进制版本。

  1. # For Debian/Ubuntu
  2. wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
  3. sudo apt-get install ./cloudflared-linux-amd64.deb
  4. cloudflared -v
  5. # For CentOS/RHEL/Fedora
  6. wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
  7. sudo yum install ./cloudflared-linux-x86_64.rpm
  8. cloudflared -v

配置cloudflared为在启动时运行

  1. mkdir /etc/cloudflared/
  2. vim /etc/cloudflared/config.yml

复制以下配置:

  1. proxy-dns: true
  2. proxy-dns-port: 5053
  3. proxy-dns-upstream:
  4. - https://1.1.1.1/dns-query
  5. - https://1.0.0.1/dns-query
  6. # Uncomment the following if you also want to use IPv6 for external DOH lookups
  7. #- https://[2606:4700:4700::1111]/dns-query
  8. #- https://[2606:4700:4700::1001]/dns-query

现在通过cloudflared服务命令安装服务:

  1. cloudflared service install --legacy

启动systemd服务并检查其状态:

  1. systemctl start cloudflared
  2. systemctl status cloudflared

现在测试它是否正常工作!运行以下dig命令,应返回类似于以下的响应:

  1. pi@raspberrypi:~ $ dig @127.0.0.1 -p 5053 google.com
  2. ; <<>> DiG 9.11.5-P4-5.1-Raspbian <<>> @127.0.0.1 -p 5053 google.com
  3. ; (1 server found)
  4. ;; global options: +cmd
  5. ;; Got answer:
  6. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12157
  7. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
  8. ;; OPT PSEUDOSECTION:
  9. ; EDNS: version: 0, flags:; udp: 4096
  10. ; COOKIE: 22179adb227cd67b (echoed)
  11. ;; QUESTION SECTION:
  12. ;google.com. IN A
  13. ;; ANSWER SECTION:
  14. google.com. 191 IN A 172.217.22.14
  15. ;; Query time: 0 msec
  16. ;; SERVER: 127.0.0.1#5053(127.0.0.1)
  17. ;; WHEN: Wed Dec 04 09:29:50 EET 2019
  18. ;; MSG SIZE rcvd: 77

本文内容来自
https://docs.pi-hole.net/guides/dns/cloudflared/#automatic-way