用 systemd-resolved 支持 DNS over TLS
Last updated on 2021-10-19, Tue, 12:37 AM
动机
用 DNS over TLS 避免可能的审查和投毒。
过程
迫使 NetworkManager 用 systemd-resolved 解析域名。
sudo vim /etc/NetworkManager/NetworkManager.conf加上这个内容
[main]
dns=systemd-resolved保存,退出。然后把 DoT 启用一下。
sudo vim /etc/systemd/resolved.conf添加内容
DNS=1.0.0.1 1.1.1.1 45.11.45.11
DNSOverTLS=yes我在这里用了 cloudflare 和 dns.sb, 但是这不是仅有的选择。
只要服务器支持,你也可以打开 DNSSEC 验证。
另外,你可能还要修改下 /etc/resolv.conf.
sudo vim /etc/resolv.conf注释掉其它服务器,然后加上
nameservers 127.0.0.53保存,并开启写保护。
sudo chattr +i /etc/resolv.conf然后启动 systemd-resolved 并重启 NetworkManager.
sudo systemctl enable --now systemd-resolved
sudo systemctl restart NetworkManager应该工作了。
P. S.
延迟会 显著 上升。
我之前不小心打错字了。
D N A
用 systemd-resolved 支持 DNS over TLS
https://blog.h3a.moe/src/d07400/