如何解釋 Windows 10 使用 pihole 取得本機 DNS 時出現的 nslookup 錯誤?

如何解釋 Windows 10 使用 pihole 取得本機 DNS 時出現的 nslookup 錯誤?

背景是我正在解決用作本地 DNS 伺服器的 pihole 的間歇性故障,我透過 Macbook 上的 Docker 運行該伺服器,以啟用我的家庭實驗室的實體機和虛擬機。

我在後來標記的 pihole Docker 映像版本中遇到了以下問題,我相信是 v5.6 或 v5.7 之一。我真的不知道這是否是由於 pihole 版本造成的,但我不記得以前見過這樣的 nslookup;請注意“DNS 請求超時”,但隨後顯然成功了。我相信在嘗試此操作之前,在 pihole 管理中添加指向“192.168.50.211”的本地 DNS 條目“gitlab.m44zv82q.com”後,我已經重新啟動了 Windows 10 桌面。在本例中,我尚未新增 DNS 伺服器的名稱。為什麼顯示“DNS 請求超時”,但隨後卻明顯成功?我在另一台 Windows 10 筆記型電腦上看到了類似的問題。順便說一句,我將“m44zv82q.com”指向“192.168.50.1”。

C:\Users\iamuser>nslookup gitlab.m44zv82q.com
Server:  3400b21b6797
Address:  192.168.50.243

DNS request timed out.
    timeout was 2 seconds.
Name:    gitlab.m44zv82q.com
Address:  192.168.50.211


C:\Users\iamuser>

在 pihole 管理中新增本機 DNS 項目後,我立即切換回 v5.5.1。

C:\Users\iamuser>nslookup gitlab.m44zv82q.com
Server:  iamuser-Macbook-Pro.m44zv82q.com
Address:  192.168.50.243

Name:    gitlab.m44zv82q.com
Address:  192.168.50.211


C:\Users\iamuser>

答案1

為什麼顯示“DNS 請求超時”,但隨後卻明顯成功?

因為它確實DNS 請求 – 一個用於AAAA記錄,另一個用於A記錄(分別檢索 IPv6 和 IPv4 位址)。第一個逾時,但第二個回傳一個 IP 位址。

通常,如果網站不支援 IPv6 並且不在 DNS 中發布任何 AAAA 記錄,AAAA 查詢仍然會成功,只是傳回所請求類型的零記錄。

然而,一些「網路保護」軟體,以及一些VPN軟體,都存在以下不明智的功能:完全阻塞查詢 AAAA,這樣它們要么返回一個假的 SERVFAIL 錯誤,要么根本不返回任何回應(強制客戶端等待直到超時)。確保沒有啟用類似的功能。

或者,由於 Pi-Hole 使用 dnsmasq,添加本地 DNS 條目也可能不再完全覆蓋該條目的所有記錄類型 - 也就是說,我懷疑不是直接返回“0 AAAA 記錄”,它最終會將AAAA 查詢轉發到上游(到您的ISP 的DNS 伺服器)或類似的東西。

看看 Pi-Hole 的最近的 DNS 查詢列出來看看發生了什麼。

相關內容