如何在 Systemd 上正确启用 DNSoverTLS

如何在 Systemd 上正确启用 DNSoverTLS

前几天我遇到了这个奇怪的问题。几个月前,我在笔记本电脑上启用了 DNS over TLS(DoT)。我的笔记本电脑一直放在家里,直到我决定将它带到城里。

最近我发现 systemd-resolved 在连接到 Wi-Fi 时不使用 DoT。

Link 8 (wlp2s0)
      Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
DefaultRoute setting: yes                      
       LLMNR setting: yes                      
MulticastDNS setting: no                       
  DNSOverTLS setting: opportunistic                      
      DNSSEC setting: no                       
    DNSSEC supported: no                       
  Current DNS Server: 192.168.42.129           
         DNS Servers: 192.168.42.129           
          DNS Domain: ~.                       

systemd-resolved 一直在向 ISP DNS 服务器(192.168.42.129)发送 UDP 数据包!该杂志显示:

systemd-resolved[]: Using degraded feature set (UDP+EDNS0) for DNS server ...

问题是 NetworkManager 仍然配置为将 DNS 服务器从 DHCP 推送到 systemd-resolved。这导致 systemd-resolved 覆盖了接口的全局设置。我必须通过添加来禁用它systemd-resolved=false网络管理器.conf

在我去 github 页面提交 bug 之前,我只是想看看是否有人知道这一点。所有在线材料都表明您所需要做的就是添加dns=systemd-resolvedDNSOverTLS=(whichever)

答案1

如果您Domains=~.在 中设置/etc/systemd/resolved.conf,systemd-resolved 将优先使用全局配置而不是任何每链接配置。否则,正如您所观察到的,每个链接的配置优先。

相关内容