使用 cloudflared
和 systemd 在 Linux 上设置 DNS over HTTPS (DoH)
Linux 上使用 systemd 设置 DNS over HTTPS (DoH) ,我们使用 DoH 服务的 cloudflared
为例。
- 首先,下载
cloudflared
:
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
- 使二进制文件可执行并移至合适的目录:
chmod +x cloudflared-linux-amd64
sudo mv cloudflared-linux-amd64 /usr/local/bin/cloudflared
- 创建
cloudflared
的配置目录:
sudo mkdir /etc/cloudflared
- 创建配置文件:
sudo nano /etc/cloudflared/config.yml
- 填入以下内容:
proxy-dns: true
proxy-dns-port: 53
proxy-dns-upstream:
- https://1.1.1.1/dns-query
- https://1.0.0.1/dns-query
proxy-dns-address: 127.0.0.1
- 创建 systemd 服务文件:
sudo nano /etc/systemd/system/cloudflared.service
- 填入以下内容:
[Unit]
Description=cloudflared DNS over HTTPS
After=syslog.target network-online.target
[Service]
Type=simple
User=root
#ExecStart=/usr/local/bin/cloudflared proxy-dns
ExecStart=/usr/local/bin/cloudflared --config /etc/cloudflared/config.yml
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
- 启用并开始服务:
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
- 编辑
resolv.conf
:
sudo nano /etc/resolv.conf
- 修改或添加:
nameserver 127.0.0.1
这将使用 cloudflared
代理作为系统的 DNS 服务器。
注意:系统可能会覆盖
/etc/resolv.conf
。你可以参考本站如何固定dns,或使resolv.conf
不可变。
我们希望此指南帮助您在 Linux 上使用 cloudflared
和 systemd 设置了 DNS over HTTPS。如果遇到任何问题,请查阅相关文档或寻求技术支持。