熱點推薦:
您现在的位置: 電腦知識網 >> 電腦故障 >> 正文

網管經驗之Windows服務器DNS故障問題[1]

2013-11-12 00:06:24  來源: 電腦故障 
在開始討論如何排除DNS問題之前我們想知道你是否清楚怎樣判斷某個問題是由DNS而不是由別的命名服務造成的在Windows主機上判斷問題的原因是否真的出在DNS上可是件困難的事Windows支持的命名服務真是名目繁多如DNSWinsHOSTSLMHOSTS等數不勝數然而常用的Windows nslookup 卻全然不理會其他這些命名服務你可能會只顧在Windows 計算機上運行nslookup和查詢名稱服務器而有問題的服務卻可能在使用另一種不同的命名服務首先你需要考慮是哪一類程序出了問題如果是TCP/IP客戶端如telnet或ftp那麼問題可能出在DNS和HOSTS文件上如果是一個支持NetBIOS命名的實用程序如net(與在net use中一樣)中那麼值得懷疑的還要包括Wins和LMHOSTS文件其他也使用DNS名稱或NetBIOS名稱作為參數的客戶端(如ping)也會使用這些命名服務中的任意一種接下來再考慮Windows使用這些命名服務的順序在查找問題時應按照此順序檢查各種服務這些提示對你查出問題的症結會有幫助至少可幫你排除一個懷疑對象
  
  如果要檢查一個服務器的緩存區請單擊DNS控制台左窗格中該服務器名稱左邊的加號你將看到一個名為Cached Lookups的文件夾單擊其左邊的加號或雙擊文件夾圖標或標簽以展開下一級這樣可顯示出你的名稱服務器已為其緩存了數據的那些頂級域繼續展開直至看到你要查看的緩存數據所在的那一域名如我們的名稱服務器已為microsoftcom緩存了三條NS記錄和一條A記錄如果依次雙擊net和 hp我們還會看到這些名稱服務器的緩存地址如果想看緩存數據上的 TTL請雙擊右窗格中的一條記錄若 DNS 控制台處於高級查看模式(選擇查看 > 高級)則出現的窗口將顯示出該記錄的 TTL在檢查 TTL 之前一定要用操作 > 刷新或用 F 鍵刷新 DNS 控制台否則你看到的 TTL 可能會大於當前 TTL如果右鍵單擊該記錄你可能會注意到有一個刪除記錄選項
  
  DNS的一些常見的錯誤
  
   忘記增加序列號

  
  在你未使用 DNS 控制台而是用手動方式更改區域數據文件時就會出現一些問題DNS 控制台在它每次更改區域數據時都會記著在 SOA 記錄中增加序列號所以你不必為此操心不過這也意味著你可能不會養成更新序列號的習慣所以在進行一次性手動修改時你可能會忘記增加序列號此問題的主要症狀是從屬名稱服務器不會獲得你在主服務器上對該區域做的任何更改從屬服務器認為區域數據並未更改因為它看到的序列號仍是原來的序列號該怎樣檢查當時是否記著增加序列號呢?不幸的是這就不是那麼容易了如果你不記得原序列號是什麼而現在的序列號不能表明它是什麼時候更新的則沒有直接的方法判斷它是否已更改在啟動主服務器時不管你是否更改了序列號它都將加載更新後的區域數據文件最好的辦法只能是使用 nslookup 來比較主服務器和從屬服務器返回的數據如果它們返回不同的數據則表明你可能忘了增加序列號如果你能想起最近作的一次更改則可以查看此數據如果記不起最近一次作的更改則可以從一個主服務器和一個從屬服務器復制該區域將結果排序並使用文件比較工具將它們加以比較還有一個好消息盡管確定該區域此前是否已復制比較難但現在要確保該區域被復制卻非常簡單只須在 DNS 控制台中雙擊 SOA 記錄並手動編輯序列號字段增加主服務器上此區域的副本中的序列號即可從屬服務器將在刷新時間間隔內獲得此新的數據如果它們用了 NOTIFY則會更快
  
   以手動方式更改DNS服務器
  
  要記住 Microsoft DNS 服務器會定期更新其區域數據文件每次用 DNS 控制台對一個區域的數據進行更改時就有一個寫操作掛起在 DNS 服務器退出之前它必須重寫該區域的數據文件否則它就會丟失你所作的更改可以將此比作內存中一個已更新的頁操作系統在退出之前必須將它寫到磁盤上如果你在一個寫操作掛起期間對一個區域數據文件作了手動更改則在名稱服務器退出後你會莫名其妙地丟失所作的更改比如你在服務器正在運行且有一個寫操作掛起時向一個名為microsoftcom的新子域添加了委派作完更改後你必須將服務器停下並再次啟動以讓它再次讀取該區域數據但是在服務器退出時它將重寫 microsoftcom 區域數據文件你的委派於是就會丟掉如果仔細觀察(平時就需要這樣)事件查看器會在服務器停止事件之前看到這樣一條消息The DNS server wrote version of zone microsoftcom to file microsoftcomdns(DNS 服務器寫入區域 microsoftcom 的版本 到文件 microsoftcomdns)如果你用操作 | 更新服務器數據文件來強制服務器重寫其區域數據文件則服務器就會與區域數據文件同步而不必在退出時重寫所以如果要對區域數據文件作手動更改那麼要麼首先停止服務器(但這意味著在你作更改期間服務器將不響應任何查詢)要麼使用 DNS 控制台將服務器與區域數據文件同步然後再進行更改
  
   從屬服務器無法加載區域數據
  
  如果一個從屬服務器無法從其主控服務器獲取某個區域的當前序列號那麼最初它是不會給你發警告消息的然而如果該問題一直存在而且從屬服務器在有效期時間內無法確定其數據是否是最新的那麼該區域就會過期在一個 Microsoft DNS 服務器上你將在事件查看器中看到與下文類似的一條消息在獲得成功區域復制或從這個區域作為其源的主服務器獲得成功區域復制之前 microsoftcom 區域就超時了該區域已經被關閉區域過期後當你向名稱服務器查詢該區域中的數據時就會收到 SERVFAIL 錯誤消息
  C:> nslookup robocop wormholemicrosoftcom
  Server: wormholemicrosoftcom
  Addresses:
  wormholemicrosoftcom cant find robocopmicrosoftcom: Server failed

[]  []  


From:http://tw.wingwit.com/Article/Fault/201311/10683.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.