2025年10月17日 星期五

[研究]DNS 網址對應 IP 變更後,在 Internet 生效要多久?為什麼?

[研究]DNS 網址對應 IP 變更後,在 Internet 生效要多久?為什麼?

2025-10-17

DNS 網址對應 IP 變更後,在 Internet 生效要多久?為什麼?

ChatGPT

所需時間取決於幾個關鍵因素。以下是詳細說明:

🕒 一、主要影響生效時間的因素

1️⃣ TTL(Time To Live)值

  • TTL 是最關鍵的因素。
  • 每筆 DNS 記錄(A、AAAA、CNAME…)都會設定 TTL 秒數,代表「快取多久」。
  • 當 DNS Client(或中間的 DNS 伺服器)查到這筆記錄後,會在 TTL 期間內「不再重查」權威伺服器。

TTL 設定 生效時間影響
86400 秒 (1天) 最慢可能要 24 小時才全網更新
3600 秒 (1小時) 約 1 小時內陸續生效
300 秒 (5分鐘) 幾分鐘內生效(最快)

所以,若預期要更換 IP,建議 提前降低 TTL 到 300 秒 或 600 秒,等變更完成後再調回長值。

****************************************
2️⃣ DNS 快取層級

DNS 有多層快取,每層都可能影響生效時間:
層級 位置 說明
使用者端快取 作業系統 (Windows/macOS/Linux) 或瀏覽器 例如 Windows DNS Cache、Chrome 內建快取
本地 DNS Resolver ISP 或公司內部 DNS 常會快取 TTL 時間內的紀錄
公用 DNS Google (8.8.8.8)、Cloudflare (1.1.1.1) 也遵守 TTL,但有時會有短暫延遲清除
權威 DNS 你的網域託管商 變更後立即更新,這是源頭,但其他層要等 TTL 過期才會重新查詢

****************************************
3️⃣ DNS 傳播與全球同步

  • 全球不同地區的 DNS 伺服器各自快取結果,因此會有「傳播延遲」(propagation delay)。

  • 一般來說,1 小時~24 小時 內會陸續同步完成。

  • 在 TTL 設很長(如 86400 秒)的情況下,部分使用者仍會暫時解析到舊 IP。

****************************************

🌐 二、實務觀察的時間範圍

狀況 典型生效時間
TTL 設為 5 分鐘 通常 5~15 分鐘內全網更新
TTL 設為 1 小時 約 1~3 小時內更新
TTL 設為 24 小時 最慢要等到 24 小時(甚至 48 小時)

****************************************

⚙️ 三、檢查 DNS 是否已更新

你可以用以下工具檢查不同地區是否已生效:

🔹 https://www.whatsmydns.net/

(可查全球 DNS 傳播狀況)

🔹 Windows:

nslookup example.com   
ipconfig /flushdns

🔹 macOS/Linux:

dig example.com
sudo dscacheutil -flushcache   

****************************************

📘 四、為什麼會「延遲生效」

因為 DNS 系統是分散式快取架構,為了效率,全球 DNS 都會暫存解析結果。

當 IP 變更時,舊的快取要等到 TTL 過期,才會被捨棄並重新查詢新 IP,因此更新不是即時的。

✅ 結論重點:

  • DNS IP 變更在 Internet 生效時間 = TTL 時間 + 各層快取清除延遲
  • 一般為 幾分鐘到 24 小時不等,具體取決於你設定的 TTL 值。

(完)

相關

網域名稱註冊並設定 DNS 後,多久才能開始使用?
https://twnoc.net/support/Knowledgebase/Article/View/2/2

甚麼是 DNS 傳播
https://www.digicert.com/tw/faq/dns/what-is-dns-propagation

中華電信 - ISP 級的 DNS 服務
https://prodns.hinet.net/


沒有留言:

張貼留言