Linux下使用Cloudflared DNS over HTTPS实现纯净解析

最近,Cloudflare公司大招连连,开放了1.1.1.1和1.0.0.1两个公共DNS解析服务,也支持了DNS over HTTPS服务。那么如何使用这个服务拿到纯净的解析呢?这里记录一下安装配置。

参考修改自:https://developers.cloudflare.com/1.1.1.1/dns-over-https/cloudflared-proxy/

本教程使用Fedora发行版,其他Linux发行版类似。以下所有操作均在root下进行。

下载页面:https://developers.cloudflare.com/argo-tunnel/downloads/

    1. 首先要下载并安装开源的cloudflared客户端,以下是撰稿时最新网址,请到上方页面复制新网址。
      dnf install https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.rpm
    2. 创建配置文件
      mkdir -p /usr/local/etc/cloudflared
      cat << EOF > /usr/local/etc/cloudflared/config.yml
      proxy-dns: true
      proxy-dns-upstream:
       - https://1.1.1.1/dns-query
       - https://1.0.0.1/dns-query
      EOF
      
      touch /usr/local/etc/cloudflared/cert.pem
      
    3. 安装cloudflared服务。装完后已经是允许开机启动的状态了。
      cloudflared service install
    4. 测试DNS
      nslookup www.facebook.com 127.0.0.1

      如果返回的IP用whois查询的确属于Facebook公司的,则配置成功。

    5. 修改系统默认DNS,在/etc/resolv.conf下写入如下内容:
      nameserver 127.0.0.1
      

      生效。

缺陷在于对CDN加持的域名无法正确识别地域,所以在国内你可能会连到美西去。包括淘宝网易等网站和服务。

作者:小老外

我还需要不断地学习。

2条评论

  1. 不能匿名留言?cloudflared service install会报错ERRO[0000] systemctl: Created symlink /etc/systemd/system/multi-user.target.wants/cloudflared.service → /etc/systemd/system/cloudflared.service.

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据