web-dev-qa-db-ja.com

systemd-resolvedでDNSをトラブルシューティングする方法は?

トラブルシューティングの目的で、systemd-resolvedが使用するDNSサーバーをどのように見つけますか?

通常、Digを使用して、/etc/resolv.confに示されているDNSサーバーをテストできます。 (またはWindows-ipconfig /all + nslookup)。しかし、resolv.confがループバックアドレスのローカルリゾルバーデーモンを指しているだけでは、このアプローチは機能しません。 systemd-resolvedで使用するDNSサーバーを表示するには、どの方法を使用しますか?


unboundには、調査できる構成ファイルがあります。dnsmasqも使用できますが、構成ファイルなしでサーバーを動的に追加できるかどうかはわかりません。NetworkManagerでもnmcli、そしてnmcli d show wlan0をクエリして、インターフェースのDNS構成を表示できることを確認します。)

58
sourcejedi

使用する resolvectl statussystemd-resolve --status239 )より前のsystemdバージョンを使用して グローバルおよびリンクごとのDNS設定 を表示する場合。

47
Piotr Dobrogost

トラブルシューティングに非常に役立ちます:

journalctl -u systemd-resolved -f

systemd-resolvedが実際に何をしているのかがわかります。私の場合、systemd-resolve --status経由で報告されたDNSサーバーにはまったく接続していませんでした。そのような奇妙なことをしている場合は、Sudo systemctl restart systemd-resolvedを介して再起動することをお勧めします。

編集:resolvedから詳細情報を取得するには、

[Service]
Environment=SYSTEMD_LOG_LEVEL=debug

override.confsystemd-resolved

Sudo systemctl edit systemd-resolved
44
Elmar Zander