ubuntu 下的 nslookup 命令利用 127.0.0.53 查詢主機名失敗,而使用閘道器則正常的問題

geyee發表於2024-11-09

遇到一個奇怪的問題,ubuntu 下使用 KRDC 遠端訪問區域網主機時,連線主機名失敗,使用 ip 則正常。透過 nslookup 命令發現,區域網主機名沒有被正確解析(使用的是預設的 127.0.0.53 )。而使用閘道器則可以解析出來。

在 linux 終端下使用命令繼續檢視

resolvectl status

strace nslookup win11

strace nslookup win11 172.16.0.1

cat /etc/systemd/resolved.conf

網上檢索也有一些類似的資訊

Question on nslookup command
Why does /etc/resolv.conf point at 127.0.0.53?
NSLookup Unable To Resolve Local Computer's Hostname

再問 Claude,問題看起來明朗起來

最後修改resolved.conf檔案,再將systemd-resolved服務重啟,問題消失。

echo "LLMNR=yes" | sudo tee -a /etc/systemd/resolved.conf
systemctl restart systemd-resolved

下面的修改似乎不是必須的

sed -i '/^#MulticastDNS=yes/s/^#//' /etc/systemd/resolved.conf

A question about the linux nslookup command not being able to resolve lan hostname using 127.0.0.53, but gateway.

最好還是多瞭解一下 systemd-resolved.service,比如看這篇 DNS三兩事: 尋找最佳DNS及正確設定DNS伺服器(Ubuntu) 就瞭解了之前模糊的東西。

相關文章