Windows
Windows 如何決定在解析名稱時使用哪個 DNS 伺服器?
Windows 使用什麼算法來決定它將查詢哪個 DNS 伺服器以解析名稱?
假設我有幾個介面,所有介面都是活動的,一些沒有指定 dns 伺服器,一些被告知自動確定它,還有一些手動指定(在介面 ipv4 和介面 ipv6 中)。
我正在尋求這個一般問題的答案,希望我知道如何解決 Windows Vista 中更具體的問題 - 我有兩個介面,一個是較低的度量標準,一個是手動指定的 DNS 伺服器。nslookup 使用此DNS 伺服器並正確解析名稱。但是,除非我為其他介面手動指定 DNS 伺服器,否則所有其他應用程序都無法解析該名稱,然後應用程序將使用該 DNS 伺服器。一旦指定,nslookup 也會使用為此其他介面指定的 DNS 伺服器。
謝謝
如果我沒記錯的話,這是由網路連接文件夾中高級設置中的網卡綁定順序決定的。您可以通過更改各種 NIC 的綁定順序並執行 nslookup 作為測試來驗證它。
為了擴展我的答案,引用埃文連結的文章,這裡是該文章的摘錄:
DNS 客戶端服務按以下順序查詢 DNS 伺服器:
- DNS 客戶端服務將名稱查詢發送到首選適配器的 DNS 伺服器列表中的第一個 DNS 伺服器,並等待一秒鐘以等待響應。
- 如果 DNS 客戶端服務在一秒鐘內未收到來自第一台 DNS 伺服器的響應,它會將名稱查詢發送到仍在考慮中的所有適配器上的第一台 DNS 伺服器,並等待兩秒鐘以等待響應。
- 如果 DNS 客戶端服務在兩秒內未收到來自任何 DNS 伺服器的響應,則 DNS 客戶端服務將查詢發送到仍在考慮中的所有適配器上的所有 DNS 伺服器,然後再等待兩秒以獲得響應。
- 如果 DNS 客戶端服務仍未收到來自任何 DNS 伺服器的響應,它會將名稱查詢發送到仍在考慮中的所有適配器上的所有 DNS 伺服器,並等待 4 秒以等待響應。
- 如果 DNS 客戶端服務未收到來自任何 DNS 伺服器的響應,則 DNS 客戶端將查詢發送到仍在考慮中的所有適配器上的所有 DNS 伺服器,並等待 8 秒以等待響應。
步驟 1 中的首選適配器是綁定順序中最先列出的適配器。