locked
windows 2008 R2 DNS 無法解析特定網站的問題 RRS feed

  • 問題

  • 小弟我最近在使用 WIN2008 R2 時發現了一些DNS的問題,當我把DNS安裝完成後(尚不做任何設定)將該主機IP指定為主要DNS SERVER進行查詢,發現在查詢有部分國外網站時會發生逾時的現象,即使使用NSLOOKUP將 timeout 時間拉長仍得到連線逾時而無法查詢到相對應的IP,無法查詢到的網站甚至包含微軟的首頁 www.microsoft.com,這讓我很納悶,查詢國內網址時都能正常回應代表DNS應該是正常運作,但為何特定網址如 : www.microsoft.com , www.intel.com , www.cisco.com 這些網站卻都一直無法正確回應,而這個問題在windows 2003 windows 2008 都不會發生,只有在windows 2008 R2 才有這情況,我的windows 2008 R2 沒有安裝任何防火牆與防毒軟體,預設的火牆與服務也都關掉了但此問題依舊存在,不知各位先進是否有遇過相同問題?還請不吝賜教...謝謝

    2009年9月5日 下午 04:05

解答

  • 不知道國外這篇討論可不可以幫到你

    Windows Server 2008 R2 DNS DNS error 5504 on some queries
    http://social.technet.microsoft.com/Forums/en-US/winserverPN/thread/7d0fc8f9-1c5c-428e-9f4f-887a162d0660

    年度軟體技術盛會微軟Tech.Days 9月22日全新登場, 您還在等什麼? 快報名就對了.


    • 已標示為解答 GOMIBAKO 2009年9月6日 下午 02:55
    2009年9月6日 上午 09:39
  • 感謝Vincent Lin提供的資料,小弟已經找到問題癥結點了,問題是出在Extension Mechanisms for DNS (EDNS0)這功能上,簡單來說,EDNS0允許DNS查詢封包長度大於512byte,但在一些Firewall上並不允許這類型封包通過因此會出現DNS查詢失敗的問題.
    我的測試環境上並沒有安裝任何Firewall,甚至連windows預設的Firewall也關閉了,但依然會有相同的問題,這方面應該是微軟在2008 R2上有對DNS查詢封包做一些特殊的處理....
    總之,要解決這個問題只要用系統管理員身分開啟CMD.EXE,並輸入:
    dnscmd "ServerName or IP" /Config /EnableEDnsProbes 0
    關閉EDNS0的功能就能正常查詢了.

    這個問題其實在WIN2003時後就有了,不過我在安裝2003與2008時從來沒遇到該問題,倒是2008 R2每裝一台就一定有這問題,另外經小弟測試WIN2008升級為2008 R2後是不會有這種問題的.

    以上,提供給各位参考

    • 已標示為解答 GOMIBAKO 2009年9月6日 下午 02:56
    2009年9月6日 下午 02:54

所有回覆

  • 不知道你有在DNS伺服器裡設定轉寄站嗎?
    如果沒有,可以參考下圖加上轉寄站。

    DNS的主機名稱上按滑鼠右鍵,點選[內容]。


    找到[轉寄站]的標籤,點選[編輯]。


    輸入你所屬ISP的DNS主機名稱或IP,然後按[確定]。(可輸入多筆)


    建議設定的原因,可以參考先前的討論文章:win2003 dns查不到www. homeinns.com

    蘇老碎碎念
    資訊無涯,回頭已不見岸
    2009年9月6日 上午 03:04
    版主
  • 感謝 AskaSu 兄的回答 , 事實上之前我有試過加入轉寄站,是可以正確查詢到的,但令我不解的是我查詢的都是數一數二大公司的網站,照理說只要依靠13個 root一層層查詢下來就應該可以解析出來,但卻要依賴其他轉寄站才能查到我個人覺得不太尋常,況且,這問題只有在2008 r2才會發生,發生這問題後我重新安裝了 2003 2 與 2008 即使不使用轉寄站仍能查詢到  www.microsoft.com , www.intel.com , www.cisco.com 這些網站,就以往的使用經驗來看這樣才是正常的,我比較想理解的是什麼原因會引起這現象?
    另外,我在dns log 裡發現以下敘述
    Event 5504
    The DNS server encountered an invalid domain name in a packet from 204.2.178.133. The packet will be rejected. The event data contains the DNS packet.
    當我進行dns查詢時不管是否查詢得到都會出現此一訊息,但每次ip卻都不盡相同
    上微軟網站有找到這篇
    http://support.microsoft.com/kb/920162
    但卻未說明針對 2008 的解決方法,不知道各位先進前輩是否曾遇過這類問題,麻煩指導一下小弟,謝謝



    • 已標示為解答 GOMIBAKO 2009年9月6日 下午 02:54
    • 已取消標示為解答 GOMIBAKO 2009年9月6日 下午 02:56
    2009年9月6日 上午 05:20
  • 不知道國外這篇討論可不可以幫到你

    Windows Server 2008 R2 DNS DNS error 5504 on some queries
    http://social.technet.microsoft.com/Forums/en-US/winserverPN/thread/7d0fc8f9-1c5c-428e-9f4f-887a162d0660

    年度軟體技術盛會微軟Tech.Days 9月22日全新登場, 您還在等什麼? 快報名就對了.


    • 已標示為解答 GOMIBAKO 2009年9月6日 下午 02:55
    2009年9月6日 上午 09:39
  • 感謝Vincent Lin提供的資料,小弟已經找到問題癥結點了,問題是出在Extension Mechanisms for DNS (EDNS0)這功能上,簡單來說,EDNS0允許DNS查詢封包長度大於512byte,但在一些Firewall上並不允許這類型封包通過因此會出現DNS查詢失敗的問題.
    我的測試環境上並沒有安裝任何Firewall,甚至連windows預設的Firewall也關閉了,但依然會有相同的問題,這方面應該是微軟在2008 R2上有對DNS查詢封包做一些特殊的處理....
    總之,要解決這個問題只要用系統管理員身分開啟CMD.EXE,並輸入:
    dnscmd "ServerName or IP" /Config /EnableEDnsProbes 0
    關閉EDNS0的功能就能正常查詢了.

    這個問題其實在WIN2003時後就有了,不過我在安裝2003與2008時從來沒遇到該問題,倒是2008 R2每裝一台就一定有這問題,另外經小弟測試WIN2008升級為2008 R2後是不會有這種問題的.

    以上,提供給各位参考

    • 已標示為解答 GOMIBAKO 2009年9月6日 下午 02:56
    2009年9月6日 下午 02:54