Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> DNS 伺服器

DNS 解析全鏈路追蹤:以 www.baidu.com 為例深度剖析遞迴與迭代查詢過程

編輯:DNS 伺服器

實驗環境與前置條件

  • 測試客戶端:ns1 (新建 DNS 服務器,無任何快取記錄)
  • 本地 DNS (LDNS):192.168.2.2 (DC01),假設無 www.baidu.com 快取
  • 工具:dig +trace 追蹤完整解析路徑,nslookup 驗證最終結果

實際測試數據


[root@ns1 ~]# dig +trace -t A www.baidu.com
; <<>> DiG 9.8.2rc1 <<>> +trace -t A www.baidu.com
;; global options: +cmd
.          3600 IN NS m.root-servers.net.
.          3600 IN NS l.root-servers.net.
... (共 13 組根伺服器 NS 記錄)
;; Received 449 bytes from 192.168.2.2#53 (LDNS) in 3545 ms

com.       172800 IN NS m.gtld-servers.net.
com.       172800 IN NS h.gtld-servers.net.
... (共 13 組 .com TLD 伺服器 NS 記錄)
;; Received 491 bytes from 199.7.91.13#53 (d.root-servers.net) in 4095 ms

baidu.com. 172800 IN NS dns.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
;; Received 201 bytes from 192.33.14.30#53 (b.gtld-servers.net) in 195 ms

www.baidu.com. 1200 IN CNAME www.a.shifen.com.
a.shifen.com. 1200 IN NS ns1.a.shifen.com.
a.shifen.com. 1200 IN NS ns3.a.shifen.com.
a.shifen.com. 1200 IN NS ns5.a.shifen.com.
a.shifen.com. 1200 IN NS ns4.a.shifen.com.
a.shifen.com. 1200 IN NS ns2.a.shifen.com.
;; Received 228 bytes from 119.75.219.82#53 (ns7.baidu.com) in 28 ms

[root@ns1 ~]# nslookup www.baidu.com
Server: 192.168.2.2
Address: 192.168.2.2#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 115.239.210.27

解析流程逐步剖析

  1. 客戶端發起遞迴查詢
    ns1 根據 /etc/resolv.conf 指向 LDNS (192.168.2.2) 發送遞迴查詢請求。
  2. LDNS 迭代查詢根域
    LDNS 發現無快取,向根伺服器 (d.root-servers.net, 199.7.91.13) 發送迭代查詢。根伺服器返回 .com TLD 伺服器 NS 記錄集合 (13 組 gtld-servers.net)。
  3. LDNS 迭代查詢 .com TLD
    LDNS 向 .com TLD 伺服器 (b.gtld-servers.net, 192.33.14.30) 發送迭代查詢。TLD 伺服器返回 baidu.com 授權名稱伺服器 NS 記錄 (dns.baidu.com, ns2-4,7.baidu.com)。
  4. LDNS 迭代查詢 baidu.com 權威伺服器
    LDNS 向百度權威伺服器 (ns7.baidu.com, 119.75.219.82) 發送迭代查詢。權威伺服器返回最終答案:www.baidu.com 是 www.a.shifen.com 的 CNAME,並給出 a.shifen.com 的 NS 記錄集合。
  5. LDNS 返回最終結果給客戶端
    LDNS 將完整回應傳回 ns1。ns1 顯示 www.baidu.com → CNAME → www.a.shifen.com → A 115.239.210.27。

關鍵技術細節

1. 查詢類型區分

階段查詢發起方查詢類型目標伺服器
1ns1 (客戶端)遞迴LDNS (192.168.2.2)
2LDNS迭代根伺服器 (d.root-servers.net)
3LDNS迭代.com TLD (b.gtld-servers.net)
4LDNS迭代baidu.com 權威 (ns7.baidu.com)

2. CNAME 追蹤與 CDN 機制

www.baidu.com 解析為 www.a.shifen.com (CNAME),實際 IP 指向百度 CDN 節點 (115.239.210.27)。這是大型網站常見架構:主域名 CNAME 到 CDN 廠商子域,由 CDN 根據用戶地理位置、網路品質動態返回最優邊緣節點 IP。

3. 快取與 TTL 影響

  • 根/TLD NS 記錄 TTL 通常 172800 秒 (2 天)
  • 權威域 NS 記錄 TTL 172800 秒
  • 最終 A/CNAME 記錄 TTL 較短 (1200 秒 = 20 分),便於 CDN 調度快速生效
  • LDNS 快取上述記錄,後續同域名查詢直接從快取返回,不再走完整鏈路

4. dig +trace 實戰價值

  • 繞過本地快取,強制從根開始追蹤
  • 診斷解析失敗節點:根/TLD/權威哪一層異常
  • 驗證委派鏈路完整性:NS 記錄是否正確指向下一層
  • 檢測 DNS 劫持/污染:對比預期權威伺服器 IP

流程圖解

DNS 域名地址解析完整流程圖

延伸應用場景

  • 網路故障診斷:用戶反映「網站打不開」,用 dig +trace 判斷是 DNS 解析失敗還是 TCP 連線問題
  • 域名遷移驗證:修改 NS 記錄後,用 dig +trace @新NS domain 驗證新權威伺服器已生效
  • CDN 效能分析:從不同地區發起 dig +trace 對比返回的邊緣節點 IP 與延遲
  • 安全審計:定期掃描關鍵域名解析鏈路,發現未授權的 NS 記錄變更 (域名劫持預警)
Copyright © Windows教程網 All Rights Reserved