Windows 是否會嘗試查找 IPv6 AAAA 記錄,即使它沒有可路由的 IPv6 地址?
我的網路路由器是 ZyXEL ZyWall USG 100,它有一個內置的 DNS 伺服器。許多 Windows 電腦連接到它並通過 DHCP 獲取 IPv4 地址。他們還通過路由器的“域名”獲知 DNS 後綴(“內部”)。通常這工作正常。但是,有時 Windows(Vista 或 7)機器將無法解析 DNS 記錄中域名為“domain-name”的機器的 IP 地址。具有與“域名”關聯的 IP 地址的電腦此時已打開並可被其他 Windows 電腦訪問。
出現這種情況時,仍然可以使用“nslookup domain-name”解析IP地址,但是“ping domain-name”、“ping -4 domain-name”和瀏覽“ http://domain-name ”失敗。Ping“域名.內部”有效。
我在受此問題影響的電腦上查看了“ipconfig /displaydns”命令的輸出,發現意外的 IPv6 條目如下所示:
domain-name ---------------------------------------- No records of type AAAA
我可以通過重新啟動網路適配器介面來暫時解決問題。
在http://technet.microsoft.com/en-gb/library/bb878121.aspx,微軟說:
注意:由於 Internet 上的 DNS 伺服器配置錯誤,同時使用 IPv4 和 IPv6 的電腦可能無法解析名稱並連接到 Internet 資源。當配置錯誤的 DNS 伺服器收到將名稱解析為一個或多個 IPv6 地址的請求(AAAA 記錄請求)時,會出現這種罕見的問題。如果 DNS 伺服器不支持 IPv6,則名稱查詢失敗。查詢節點然後發送請求以將名稱解析為一組 IPv4 地址(對 A 記錄的請求)。配置錯誤的 DNS 伺服器丟棄了對 IPv4 地址的後續 DNS 查詢,整個名稱解析嘗試失敗,從而導致請求節點的網路連接受損。如果您遇到這個問題,在對 AAAA 記錄的 DNS 查詢失敗後,請您的 Internet 服務提供商重新配置其 DNS 伺服器以接受對 A 記錄的後續 DNS 查詢。或者,您可以在請求電腦上暫時禁用 IPv6。此問題存在於 DNS 伺服器上,並且對同時使用 IPv4 和 IPv6 的所有電腦都很常見。
我認為這可能是正在發生的事情(我沒有更好的想法)。
Windows 是否會嘗試查找 IPv6 DNS (AAAA) 記錄,即使它沒有被路由器分配一個可路由的(不是本地連結的)IPv6 地址?或者,是否有人對導致此問題的原因有更好的了解?
如果啟用了 IPv6(並且未禁用連結本地地址),Windows Vista 和 7 將在 A 查找之前請求 AAAA 查找。預設情況下,Windows 將具有連結本地地址,因此將使用 IPv6(如果可用)。通常這不是問題,因為 AAAA 查找失敗並且它很高興地移動到 IPv4。然而,大多數應用程序將直接跳到 IPv4。
什麼版本的 Windows?我的理解是 XP 永遠不會通過 IPv6 與 DNS 伺服器通信。它只會通過 IPv4 執行此操作。我聽說Vista和7沒有問題。
根據我的經驗,Windows 不會要求 AAAA 記錄,除非它被分配了 IPv6 路由。我從未在我的 DNS 日誌中看到任何 AAAA 查找。
你真的有一台叫做“域名”的電腦嗎?還是那是你編造的?