Windows 將域後綴添加到所有查找
我有一個反復出現的 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.com
、www.example.com
、mail.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他們的網路伺服器來處理搜尋。