試用我們的虛擬代理程式 - 它可協助您快速找出並修正常見的 DNS 問題。
本文討論如何針對 DNS 伺服器上的問題進行疑難解答。
檢查IP組態
在命令提示字元中執行
ipconfig /all
,並確認IP位址、子網掩碼和預設閘道。檢查 DNS 伺服器是否對所查詢的名稱具有權威性。 如果是,請參閱 檢查授權數據的問題。
執行下列命令:
nslookup <name> <IP address of the DNS server>
例如:
nslookup app1 10.0.0.1
如果您收到錯誤或逾時回應,請參閱 檢查遞歸問題。
清除解析程式快取。 若要這樣做,請在系統管理命令提示字元視窗中執行下列命令:
dnscmd /clearcache
或者,在系統管理 PowerShell 視窗中,執行下列 Cmdlet:
Clear-DnsServerCache
備註
如果伺服器當做 DNS 用戶端運作(例如,當伺服器需要解析自己的作業名稱時),請使用
Clear-DnsClientCache
來清除本機 DNS 用戶端快取。 如果您要針對伺服器角色作為 DNS 伺服器的問題進行疑難解答(將 DNS 記錄提供給其他用戶端),請使用Clear-DnsServerCache
來清除伺服器的授權快取,並防止它提供過期的 DNS 資訊。重複步驟 3。
檢查 DNS 伺服器問題
事件記錄
檢查下列記錄,以查看是否有任何記錄的錯誤:
應用程式
系統
DNS 伺服器
使用 nslookup 查詢進行測試
執行下列命令,並檢查是否可以從用戶端電腦連線 DNS 伺服器。
nslookup <client name> <server IP address>
如果解析程式傳回用戶端的IP位址,則伺服器沒有任何問題。
如果解析程式傳回「伺服器失敗」或「查詢拒絕」回應,則區域可能會暫停,或伺服器可能超載。 您可以檢查 DNS 主控台中區域屬性的 [一般] 索引標籤來了解其是否暫停。
如果解析程式傳回「要求伺服器逾時」或「伺服器沒有回應」回應,DNS 服務可能並未執行。 試著在伺服器上的命令提示字元輸入下列命令,以重新啟動 DNS 伺服器服務:
net start DNS
如果服務執行時發生問題,伺服器可能無法接聽您在 nslookup 查詢中使用的 IP 位址。 在 DNS 控制台中伺服器屬性頁面的 [ 介面 ] 索引標籤上,系統管理員可以限制 DNS 伺服器只接聽選取的位址。 如果 DNS 伺服器已設定為將服務限制為其所設定 IP 位址的特定清單,則可能是用來連絡 DNS 伺服器的 IP 位址不在清單中。 您可以在清單中嘗試不同的IP位址,或將IP位址新增至清單。
在極少數情況下,DNS 伺服器可能會有進階安全性或防火牆設定。 如果伺服器位於只能透過中繼主機連線的另一個網路(例如封包篩選路由器或 Proxy 伺服器),DNS 伺服器可能會使用非標準埠來接聽和接收用戶端要求。 根據預設,nslookup 會將查詢傳送至 UDP 連接埠 53 上的 DNS 伺服器。 因此,如果 DNS 伺服器使用任何其他埠,nslookup 查詢就會失敗。 如果您認為這可能是問題,請檢查中繼篩選是否刻意用來封鎖已知 DNS 埠上的流量。 如果不是,請嘗試修改防火牆上的封包篩選或埠規則,以允許 UDP/TCP 連接埠 53 上的流量。
檢查權威數據的問題
檢查傳回不正確回應的伺服器是否為區域的主要伺服器(區域的標準主伺服器,或使用 Active Directory 整合載入區域的伺服器)或裝載區域次要複本的伺服器。
如果伺服器是主伺服器
問題可能是由於使用者在輸入數據時的操作錯誤所引起的。 或者,可能是因為會影響 Active Directory 複寫或動態更新的問題所造成。
如果伺服器託管區域的第二副本
檢查主伺服器上的區域(此伺服器從中提取區域傳輸的伺服器)。
備註
您可以檢查 DNS 控制台中次要區域的屬性,以判斷哪個伺服器是主伺服器。
如果主伺服器上的名稱不正確,請移至步驟 4。
如果主伺服器上的名稱正確,請檢查主伺服器上的序號是否小於或等於輔助伺服器上的序號。 如果是,請修改主伺服器或輔助伺服器,讓主伺服器上的序號大於輔助伺服器上的序號。
在輔助伺服器上,從 DNS 控制台內強制區域傳輸,或執行下列命令:
dnscmd /zonerefresh <zone name>
例如,如果區域是 corp.contoso.com,請輸入:
dnscmd /zonerefresh corp.contoso.com
。再次檢查輔助伺服器,以查看區域是否已正確傳輸。 如果沒有,您可能有區域傳輸問題。 如需詳細資訊,請參閱 區域傳輸問題。
如果區域已正確傳輸,請檢查數據現在是否正確。 如果沒有,則主要區域中的數據不正確。 問題可能是由於使用者在輸入數據時的操作錯誤所引起的。 或者,可能是因為會影響 Active Directory 複寫或動態更新的問題所造成。
檢查遞歸問題
若要讓遞迴順利運作,遞歸查詢路徑中使用的所有 DNS 伺服器都必須能夠回應並轉送正確的數據。 如果無法執行,遞迴查詢可能會因為下列任何原因而失敗:
查詢在完成之前逾時。
查詢期間所使用的伺服器無法回應。
查詢期間所使用的伺服器會提供不正確的數據。
開始針對原始查詢中使用的伺服器進行疑難解答。 檢查此伺服器是否將查詢轉送到另一伺服器,方法是查看 DNS 控制台中伺服器屬性中的 轉寄者 索引標籤。 如果選取 [ 啟用轉寄站] 複選框,並列出一或多部伺服器,則此伺服器會轉寄查詢。
如果此伺服器確實將查詢轉送至另一部伺服器,請檢查是否有問題會影響此伺服器轉送查詢的伺服器。 若要檢查問題,請參閱 檢查 DNS 伺服器問題。 當該區段指示您在用戶端上執行工作時,請改為在伺服器上執行工作。
如果伺服器狀況良好且可以轉送查詢,請重複此步驟,並檢查此伺服器轉送查詢的伺服器。
如果此伺服器未將查詢轉送至另一部伺服器,請測試此伺服器是否可以查詢根伺服器。 若要這樣做,請執行下列命令:
nslookup
server <IP address of server being examined>
set q=NS
如果解析器傳回根伺服器的 IP 位址,您可能在根伺服器與嘗試解析的名稱或 IP 位址之間有委派問題。 遵循 測試中斷的委派 程序,來找出您委派出現中斷的位置。
如果解析程式傳回「要求伺服器逾時」回應,請檢查根提示是否指向正常運作的根伺服器。 若要這樣做,請使用 若要檢視目前的根提示 程式。 如果根提示確實指向運作中的根伺服器,您可能會有網路問題,或者伺服器可能會使用進階防火牆設定來防止解析程式查詢伺服器,如 檢查 DNS 伺服器問題 一節中所述。 預設的遞歸逾時時間可能太短。
測試失效的委派
在下列程序中,從查詢有效的根伺服器開始測試。 此測試會引導您完成從根 DNS 伺服器開始查詢所有 DNS 伺服器的過程,直到您要測試有中斷委派的伺服器。
在您要測試的伺服器上的命令提示字元中,輸入下列命令:
nslookup server <server IP address> set norecursion set querytype= <resource record type> <FQDN>
備註
資源記錄類型是您在原始查詢中查詢的資源記錄類型,而 FQDN 是您查詢的 FQDN(以句點結束)。
如果回應包含委派伺服器的 「NS」 和 「A」 資源記錄清單,請針對每部伺服器重複步驟 1,並使用 “A” 資源記錄中的 IP 位址作為伺服器 IP 位址。
如果回應未包含 「NS」 資源記錄,表示委派中斷。
如果回應包含 「NS」 資源記錄,但沒有 「A」 資源記錄,請輸入 設定遞迴,並個別查詢 「A」 資源記錄中列於 「NS」 記錄中的伺服器。 如果在區域中每個 NS 資源記錄找不到至少一個「A」資源記錄的有效 IP 地址,那麼您就會遇到委派中斷的情況。
如果您判斷委派中斷,請在父區域中新增或更新「A」資源記錄,方法是使用委派區域正確 DNS 伺服器的有效 IP 位址來修正它。
若要檢視目前的根提示
啟動 DNS 控制台。
新增或連線到失敗遞歸查詢的 DNS 伺服器。
以滑鼠右鍵按下伺服器,然後選取 [ 屬性]。
點選 [根提示]。
檢查與根伺服器的基本連線。
如果根提示似乎已正確設定,請確認在失敗的名稱解析中使用的 DNS 伺服器可以依 IP 位址偵測根伺服器。
如果根伺服器未回應 IP 位址的 Ping 測試,則根伺服器的 IP 位址可能已變更。 不過,看到根伺服器的重新設定並不常見。
區域傳輸問題
執行下列檢查:
檢查主要和次要 DNS 伺服器的事件查看器。
檢查主伺服器,以確認它是否因安全原因拒絕傳送。
檢查 DNS 控制台中區域屬性的 [ 區域傳輸 ] 索引標籤。 如果伺服器僅將區域傳送限制在伺服器清單內,如區域屬性“名稱伺服器”標籤上所列的伺服器,請確保輔助伺服器包含在該清單中。 請確定伺服器已設定為傳送區域傳輸。
遵循 檢查 DNS 伺服器問題 一節中的步驟,檢查主伺服器是否有問題。 當系統提示您在用戶端上執行工作時,請改為在輔助伺服器上執行工作。
檢查輔助伺服器是否正在執行另一個 DNS 伺服器實作,例如 BIND。 如果是,問題可能有下列其中一個原因:
Windows 主伺服器可能設定為傳送快速區域傳輸,但第三方輔助伺服器可能不支援快速區域傳輸。 如果是這種情況,請在主伺服器上的 DNS 主控台中,於伺服器屬性的 [進階] 索引標籤中,選取 [啟用 Bind 次要伺服器] 複選框來停用快速區域傳輸。
如果 Windows 伺服器上的正向查詢區包含輔助伺服器不支援的記錄類型(例如 SRV 記錄),輔助伺服器可能會遇到提取該區問題。
檢查主伺服器是否正在執行另一個 DNS 伺服器實作,例如 BIND。 如果是,主伺服器上的區域可能會包含 Windows 無法辨識的不相容資源記錄。
如果主要或輔助伺服器正在執行另一個 DNS 伺服器實作,請檢查這兩部伺服器,以確定它們支援相同的功能。 您可以在伺服器的 [屬性] 頁面的 [ 進階 ] 索引標籤上,在 DNS 控制台中檢查 Windows 伺服器。 除了 [啟用系結次要] 方塊之外,此頁面還包括 [名稱檢查] 下拉式清單。 這可讓您針對 DNS 名稱中的字元選取嚴格的 RFC 合規性。