技術文章 · 網路與網通建置

DNS 伺服器沒有回應、NXDOMAIN 怎麼查?錯誤碼與指令整理

DNS_PROBE_FINISHED_NXDOMAIN、SERVFAIL、Timeout 各代表什麼?從本機快取、Resolver、權威 DNS、A/AAAA/CNAME 到 DNSSEC 逐層排查。

作者 Steve Chen · 發布  · 約 4 分鐘閱讀

網路與網通建置 — 廷皓技術專欄插圖

「DNS 伺服器沒有回應」代表查詢逾時或連不到 Resolver;DNS_PROBE_FINISHED_NXDOMAIN 則表示查詢得到「這個名稱不存在」的答案。兩者不是同一個故障。先用指定 DNS 查詢並看完整狀態碼,再決定要查本機、公司 DNS、權威紀錄還是網域本身。

常見結果先看懂

  • NOERROR 且有 Answer:查詢成功;仍要確認 IP、TTL 與紀錄型別是否正確。
  • NOERROR 但沒有該型別答案:名稱可能存在,只是沒有 A、AAAA、MX 等你查的紀錄。
  • NXDOMAIN:查詢名稱不存在。也可能是打錯字、search suffix 補錯、權威 zone 或 delegation 設錯。
  • SERVFAIL:Resolver 無法完成查詢,常見於權威端問題、DNSSEC 驗證、迴圈或上游故障。
  • Timeout/No servers could be reached:查詢沒有收到回覆,往網路路徑、UDP/TCP 53、Resolver 服務與 policy 查。
  • REFUSED:Server 收到查詢但依政策拒絕,可能不允許 recursion 或來源不在 ACL。

先比較「系統 DNS」和「指定 DNS」

Windows 可用 Resolve-DnsName example.com,Linux/macOS 用 dig example.com。再指定公司 DNS 與另一台已知 Resolver 各查一次。內部網域、AD 與 split DNS 應以公司 DNS 為準,不能因公用 DNS 查不到就判定紀錄不存在。

如果只有本機預設 DNS 失敗,檢查 DHCP 發的 DNS、VPN、DoH/Secure DNS、Proxy 與本機快取;所有 Resolver 都回 NXDOMAIN,則檢查輸入名稱、權威 zone 和 delegation。

排查順序:Client、Resolver、權威端

Client 端

  • 用 ipconfig /all 或系統設定確認實際 DNS Server。
  • 檢查 hosts 檔、VPN、瀏覽器 Secure DNS 與公司端點政策。
  • Windows 可先看 ipconfig /displaydns,確認後才用 ipconfig /flushdns 清快取。
  • 測 A 與 AAAA;只有 IPv6 路徑壞時,表面上也可能像網站偶爾打不開。

Recursive Resolver

  • 服務是否正常、CPU/記憶體/cache 是否異常,forwarder 是否可達。
  • UDP 53 與 TCP 53 都要考慮;大型回覆、截斷與 DNSSEC 可能改走 TCP。
  • 確認 recursion ACL、RPZ/安全過濾、split-horizon zone 與查詢 log。
  • 比較多台 Resolver,避免把單一節點或 Anycast 路徑問題誤判成網域故障。

權威 DNS 與網域

  • Registrar 的 NS delegation 是否指向目前權威服務,Glue 是否正確。
  • Zone 內 A、AAAA、CNAME、MX、TXT 是否拼對;同名 CNAME 不能再與其他資料混用。
  • 修改後看 TTL 與 negative caching,不要期待所有 Resolver 立刻更新。
  • 若啟用 DNSSEC,確認 DS 與 DNSKEY 鏈一致;錯誤簽署常表現為 SERVFAIL。

網站只有公司內部打不開

外面正常、公司內部失敗,常見於內部 DNS 有同名 zone 卻少了紀錄、舊快取、內部 Proxy/安全過濾,或 NAT loopback/split DNS 設計。先從公司 Client 查它實際拿到的答案,再與行動網路比較;不要直接把電腦 DNS 永久改成 8.8.8.8,這可能破壞 AD 與內部服務解析。

改紀錄後怎麼驗證

  1. 直接查權威 Name Server,確認 zone 已載入正確值。
  2. 查公司 Resolver 與外部 Resolver,記錄 TTL 與回應狀態。
  3. 確認 A/AAAA 指到正確服務,並用 curl 或瀏覽器測 Host、SNI 與 TLS。
  4. 保留修改前後值、時間、TTL 與 rollback 設定。

指令與標準文件

聯絡廷皓討論 看更多文章