web-dev-qa-db-fra.com

Comment dépanner DNS avec résolu par systemd?

Comment feriez-vous pour trouver les serveurs DNS utilisés par systemd-resolved, à des fins de dépannage?

En général, je peux utiliser Dig et tester les serveurs DNS indiqués dans /etc/resolv.conf. (Ou fenêtres - ipconfig /all + nslookup). Mais cette approche ne fonctionne pas lorsque resolv.conf pointe simplement vers un démon de résolveur local sur une adresse de bouclage. Quelle méthode est utilisée sous systemd-resolution pour afficher les serveurs DNS qu'elle utilise?


(unbound contient des fichiers de configuration que je pourrais examiner. dnsmasq aussi, mais je ne suis pas sûr que les serveurs puissent être ajoutés dynamiquement sans fichier de configuration. Même NetworkManager, a maintenant nmcli, et je vois que vous pouvez interroger nmcli d show wlan0 pour afficher la configuration DNS d'une interface.)

58
sourcejedi

Utilisation resolvectl status (systemd-resolve --status lorsque vous utilisez la version de systemd antérieure à 239 ) pour afficher vos paramètres DNS globaux et par lien .

47
Piotr Dobrogost

Très utile pour le dépannage est également:

journalctl -u systemd-resolved -f

Là, vous pouvez voir ce que systemd-resolved fait vraiment. Dans mon cas, il ne contactait pas les serveurs DNS signalés via systemd-resolve --status du tout. Si cela fait des choses étranges comme ça, alors parfois un redémarrage via Sudo systemctl restart systemd-resolved est une bonne idée.

EDIT: afin d'obtenir plus d'informations de resolved vous devez mettre

[Service]
Environment=SYSTEMD_LOG_LEVEL=debug

dans le override.conf de systemd-resolved via

Sudo systemctl edit systemd-resolved
44
Elmar Zander