Windows

Windows 將域後綴添加到所有查找

  • September 30, 2020

我有一個反復出現的 DNS 問題,它一直困擾著我們的使用者,偶爾會導致他們的筆記型電腦將我們的公司域附加到所有 DNS 查詢的末尾。該問題僅在使用者不在現場並且看起來相當隨機時才會出現。它將工作一天,然後它會突然顯示無效條目。這主要影響 Windows XP 使用者,但最近也出現在 Vista 上。這是一個使用 nslookup 的範例。

C:\Users\Username>nslookup www.yahoo.com 
Server: Linksys
Address: 192.168.0.1

Non-authoritative answer:
Name: www.yahoo.com.EXAMPLE.COM
Address: 192.0.2.99

我已將報告的 IP 地址替換為佔位符,但我可以告訴您,它返回的是*.我們網路解決方案配置中的預設條目。因為顯然www.yahoo.com.EXAMPLE.COM不存在,所以這是有道理的。我相信使用者的內部設備執行正常。在內部,我們執行帶有基於 Windows 的 DHCP 和 DNS 伺服器的 Windows 2k3 Active Directory。最終問題通常會在幾個小時或多次重新啟動後自行解決。

有沒有人見過這種行為?

如果您啟動 nslookup 並打開調試,您會看到 Windows 總是首先嘗試附加其後綴。

C:\>nslookup
Default Server:  itads.example.com
Address:  0.0.0.0

> set debug=true
> www.yahoo.com
Server:  itads.example.com
Address:  0.0.0.0

------------
Got answer:
   HEADER:
       opcode = QUERY, id = 2, rcode = NXDOMAIN
       header flags:  response, auth. answer, want recursion, recursion avail.
       questions = 1,  answers = 0,  authority records = 1,  additional = 0

   QUESTIONS:
       www.yahoo.com.example.com, type = A, class = IN
   AUTHORITY RECORDS:
   ->  example.com
       ttl = 3600 (1 hour)
       primary name server = itads.example.com
       responsible mail addr = itads.example.com
       serial  = 12532170
       refresh = 1200 (20 mins)
       retry   = 600 (10 mins)
       expire  = 1209600 (14 days)
       default TTL = 3600 (1 hour)

------------
------------
Got answer:
   HEADER:
       opcode = QUERY, id = 3, rcode = NOERROR
       header flags:  response, want recursion, recursion avail.
       questions = 1,  answers = 4,  authority records = 0,  additional = 0

   QUESTIONS:
       www.yahoo.com, type = A, class = IN
   ANSWERS:
   ->  www.yahoo.com
       canonical name = www.wa1.b.yahoo.com
       ttl = 241 (4 mins 1 sec)
   ->  www.wa1.b.yahoo.com
       canonical name = www-real.wa1.b.yahoo.com
       ttl = 30 (30 secs)
   ->  www-real.wa1.b.yahoo.com
       internet address = 209.131.36.158
       ttl = 30 (30 secs)
   ->  www-real.wa1.b.yahoo.com
       internet address = 209.191.93.52
       ttl = 30 (30 secs)

------------
Non-authoritative answer:
Name:    www-real.wa1.b.yahoo.com
Addresses:  209.131.36.158, 209.191.93.52
Aliases:  www.yahoo.com, www.wa1.b.yahoo.com

正如您在上面看到的,我的機器首先嘗試查找 www.yahoo.com.example.com,然後 DNS 伺服器響應NXDOMAIN(未找到條目)。您可以通過執行來確認這一點nslookup www.yahoo.com.(注意 .com 末尾的點!),您會看到它已正常解決。

發生的事情是您的外部DNS 伺服器響應他們有一個“www.yahoo.com.example.com”條目,並返回您網站根目錄的 IP 地址。我不確定您使用什麼服務,但我猜您有一個萬用字元映射,它告訴您的伺服器以有效響應響應任何未知查詢,而不是返回NXDOMAIN. 您需要仔細檢查伺服器的設置,並確認它僅設置為響應對其實際具有的條目的查詢(example.comwww.example.commail.example.com等)。

請記住,DNS 通過檢查配置的伺服器並從那裡向上執行來工作。DNS 查詢可以採用類似以下模式的路徑(當然這只是一個範例,它可能是錯誤的):機器 -> 本地路由器 DNS (linksys) -> ISP DNS -> (2nd ISP DNS?) -> Root伺服器 DNS -> TLD DNS -> 您的外部 DNS 伺服器。沿著這條路有人說www.yahoo.com.example.com存在。可能是您的外部 DNS 伺服器。

編輯

我想我會再包含一個關於你提到的隨機性的花絮。如果這種情況確實偶爾發生,您可能有一個錯誤配置的外部 DNS 伺服器,或者他們的 ISP 可能正在提供 DNS 劫持服務。不幸的是,我看到越來越多的住宅 ISP 為無效域名提供“搜尋服務”。由於幾乎所有最終使用者都使用他們的 ISP DNS 伺服器,因此 ISP 現在開始將無效的域條目重定向到搜尋頁面 - 通常充滿廣告、不相關的連結和一個小的“你的意思是 www.example.com 嗎?” 一些結果可能與域名相關,也可能不相關。我知道 Verizon 和 Comcast 開始這樣做了,我相信 Quest 也開始這樣做了。另一種可能性是 OpenDNS,因為如果沒有,它們會提供相同的“搜尋相關域”

但是,我建議作為問題的問題是,您說它正在返回根記錄的地址,如果他們試圖搜尋它,這些都不會這樣做,他們會給您一個 IP他們的網路伺服器來處理搜尋。

引用自:https://serverfault.com/questions/74067