如何使用systemd-resolved对DNS进行故障排除?


48

您将如何查找所使用的DNS服务器以systemd-resolved进行故障排除?

通常,我可以使用dig和测试中显示的DNS服务器/etc/resolv.conf。(或Windows- ipconfig /all+ nslookup)。但是,当resolv.conf仅指向回送地址上的本地解析程序守护程序时,该方法将不起作用。在systemd-resolved下使用哪种方法来显示其使用的DNS服务器?


(虽然我不确定是否可以在没有配置文件的情况下动态添加服务器,但unbound也可以查看 dnsmasq是否有配置文件。即使NetworkManager现在有了nmcli,我也可以查询nmcli d show wlan0以显示接口的DNS配置。 )

Answers:



29

对故障排除非常有帮助的还有:

journalctl -u systemd-resolved -f

在那里,您可以看到systemd-resolved真正在做什么。以我为例,它根本没有联系通过报告的DNS服务器systemd-resolve --status。如果它正在做类似这样的怪异的事情,那么sudo systemctl restart systemd-resolved有时最好通过重新启动。

编辑:为了从中获取更多信息,resolved您需要输入

[Service]
Environment=SYSTEMD_LOG_LEVEL=debug

override.confsystemd-resolved

sudo systemctl edit systemd-resolved

3
可能值得注意的是,运行后sudo systemctl edit systemd-resolved似乎sudo systemctl restart systemd-resolved需要运行才能应用新设置。谢谢!
bmaupin

这些年来,无需处理Windows,反正就没那么多了,您会得到“如果它正在做类似这样的奇怪的事情,那么可以通过以下方式重新启动。”建议,您知道您已经回到了起点。叹。
Jaap Versteegh,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.