systemd-resolved 的 DNS-over-TLS 支持

 

自从 systemd release-239 开始,加入了对 DNS-over-TLS 的支持,Ubuntu 18.10 等最新的 Linux 发行已经在使用这个版本了。(注意:目前 systemd 并没有加入证书验证能力,也就是说无法防中间人劫持)

 

编辑 /etc/systemd/resolved.conf,在 [Resolve] 小节中配置:

  
DNS=118.89.110.78 47.96.179.163
DNSOverTLS=opportunistic
  

配置完成之后需要重启服务

  
sudo systemctl restart systemd-resolved
  

然后用如下命令查看 systemd-resolved 是否配置正确

  
resolvectl status
  

可以使用 resolvectl 代替 host 命令进行域名查询

  
resolvectl query dns.rubyfish.cn -t A
  

 

希望获得特定 upstream 区域的解析结果?

上述配置中 DNS 也可以单独使用对应 IP 明确指定 upstream 所在的区域。