自从 systemd release-239 开始,加入了对 DNS-over-TLS 的支持,Ubuntu 18.10 等最新的 Linux 发行已经在使用这个版本了。(注意:目前 systemd 并没有加入证书验证能力,也就是说无法防中间人劫持)
编辑 /etc/systemd/resolved.conf,在 [Resolve] 小节中配置:
DNS=118.89.110.78
47.96.179.163DNSOverTLS=opportunistic
配置完成之后需要重启服务
sudo systemctl restart systemd-resolved
然后用如下命令查看 systemd-resolved 是否配置正确
resolvectl status
可以使用 resolvectl 代替 host 命令进行域名查询
resolvectl query dns.rubyfish.cn -t A
希望获得特定 upstream 区域的解析结果?
上述配置中 DNS 也可以单独使用对应 IP 明确指定 upstream 所在的区域。