SystemdでDNSoverTLSを正しく有効にする方法

SystemdでDNSoverTLSを正しく有効にする方法

先日、私はこの奇妙な問題に直面しました。数ヶ月前、私はラップトップでDoT(DNS over TLS)を有効にしました。私はノートパソコンを街に持ち込むことを決めるまで家に保管しました。

最近、私は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はUDPパケットをISP DNSサーバー(192.168.42.129)に送信し続けます!雑誌では、次のことを示しています。

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

問題は、NetworkManagerがまだDNSサーバーをDHCPからsystemd-resolvedにプッシュするように構成されていることです。これにより、systemd-resolvedがインターフェイスのグローバル設定を上書きします。systemd-resolved=falseそれを追加して無効にする必要がありましたnetworkmanager.conf

バグを報告するためにgithubページに移動する前に、誰かがこれを知っていることを確認したかったのです。すべてのオンライン資料では、およびを追加dns=systemd-resolvedするだけでよいことを提案しますDNSOverTLS=(whichever)

答え1

Domains=~.で設定すると、/etc/systemd/resolved.confsystemd-resolvedはリンク固有の構成よりもグローバル構成を優先します。それ以外の場合は、観察したようにリンク固有の設定が優先されます。

関連情報