等待 DNS 傳播生效,可能會令你像 Sonic the Hedgehog 一樣,不耐煩地跺腳兼不停看錶。
當 DNS 記錄更新後,在傳播完成之前,DNS 解析可能會暫時失敗,或提供過時結果。延遲可能會導致停機,令你的業務因錯失重要流量和銷售而受影響。
如果你是開發人員、IT 專業人士,或是管理多個網域及 DNS 設定 的網域投資者,這些問題可能會令人相當沮喪。
在這篇文章中,我們會探討為何會出現延遲,並深入技術細節,涵蓋從調整進階 DNS 設定以加快傳播(例如存活時間 (TTL)),到常見迷思等各個層面。
我們亦會推薦一些加快 DNS 傳播的貼士,並探討 Spaceship 自家的 DNS propagation checker 如何幫助你了解網域狀態。
讓我們開始吧。
為何 DNS 傳播會感覺慢得令人難受
在一個完美世界裡,陽光總是燦爛,雪糕永遠不會賣光,DNS 記錄更新會即時完成,而全球每個人都會在完全相同的時刻看到變更。
可惜,在現實世界中,我們往往需要等待。所以,究竟是甚麼造成傳播延遲?
網絡服務供應商、遞迴解析器與快取政策
網絡服務供應商 (ISPs) – 大多數 ISP 都會使用自己的 DNS 伺服器,為用戶加快瀏覽速度。這些伺服器會保留 DNS 記錄的快取副本,因此有時用戶會看到過時資訊,直到快取重新整理為止。
遞迴 DNS 解析器 – 這些伺服器會替你完成所有繁重工作,每次你在瀏覽器輸入網站地址時,都會找出正確的 IP 位址。為了減少負載,DNS 記錄會按照快取政策暫時儲存。這表示如果某條記錄最近已更新,系統仍可能顯示過時資訊。
快取政策 – 像存活時間 (TTL) 這類快取政策,對變更在互聯網上傳播的速度有重要影響。例如,TTL 就像 DNS 記錄的到期日,決定一條記錄在需要重新請求最新資訊之前可維持有效多久。如果 TTL 設定得太高,過時記錄便可能停留更久,造成傳播延遲。
為何全球傳播並不一致
由於不同地區的快取情況有差異,傳播速度在全球各地都可能不同。 你可以把它想像成叫薄餅:如果你向本地薄餅店下單,送到時會熱辣新鮮;但如果你從鄰近州份訂購,送到時可能已經凍冰冰,甚至要等上一整天。
同樣地,如果來源伺服器位於 DNS 解析器附近,更新就會更快完成;但如果距離較遠,就會更依賴遞迴 DNS 解析器和 ISP,而快取政策亦未必會頻繁重新整理。
此外,ISP 亦可能會覆寫 TTL 設定,導致更新在全球可見之前出現延遲。
4 個將停機時間減到最低的實用貼士
現在我們知道甚麼會造成傳播延遲,接下來就看看四個有助縮短等待時間的方法。
1. 預先管理 TTL
要搶先一步,請在進行 DNS 變更前至少 24-48 小時,將你的 TTL 設定檔(在 DNS 供應商的控制面板內,或在你的伺服器 DNS 設定中)調低至 300 秒(5 分鐘)或 600 秒(10 分鐘)。
別忘了之後再把 TTL 調回較高的數值,以確保伺服器能更有效率地儲存資訊。遵循這些適用於網域更新的 TTL 最佳做法,應可有助將停機時間減到最低。
2. 測試 DNS 傳播狀態
使用像我們的 Spaceship propagation checker、WhatsMyDNS.net,或 DNSChecker.org 這類工具。輸入你的網域名稱,選擇記錄類型(A、CNAME、MX 等),即可查看它在世界各地伺服器上的解析結果。
如果你想採用更技術性的做法,可以執行命令列工具 nslookup,或透過 Google 的 DNS 伺服器檢查,例如 dig @8.8.8.8 yourdomain.com。
3. 強制重新整理 DNS 快取
為確保你的裝置沒有保留過時資訊,你可以在本機系統上手動強制重新整理 DNS 快取。方法如下:
|
DNS 傳播:迷思與現實
是時候拆解一些常見迷思,並說明當 DNS 變更發生時,實際上到底會出現甚麼情況。
迷思:你必須等待 24-48 小時讓傳播完成。
現實: 這個等待時間估算源自 TTL 設定較高的年代。雖然較低的 TTL 設定可令變更幾乎即時生效,但實際傳播速度通常取決於 ISP 多久清除一次其 DNS 快取,而這並非用戶可以控制。
迷思: 清除本機 DNS 快取會有幫助
現實:只有當問題出在你的裝置本機時,這個做法才有幫助。它無法影響全球各地 DNS 解析器如何快取你的網域。
迷思:名稱伺服器變更與 A 記錄更新遵循相同的傳播流程。
現實:兩者本質上不同。名稱伺服器變更是在註冊商層級管理,通常較慢;而 A 記錄的傳播則取決於該特定記錄的 TTL 設定。
Spaceship 的即時 DNS propagation checker
要在 DNS 變更發生時即時監察,你可以在 Advanced DNS 中使用 Spaceship 的 DNS 傳播工具。你可以查看即時視覺化地圖,了解正在發生的情況:

運作方式
與大多數依賴快取結果的傳播工具不同,我們的檢查工具會執行即時查詢。這表示你可看到多個全球 DNS 伺服器上的最新資訊。
我們的檢查工具會查詢權威 DNS 伺服器,而不是依賴公共解析器,從而更準確、即時地判斷你的變更是否已完全傳播。

何時使用 DNS propagation checker
網域遷移 – 監察 DNS 變更,並查看你的網域是否能在不同地區正確解析。
疑難排解– 快速判斷問題是由本機 DNS 快取造成,還是更廣泛的傳播延遲所致。
像專家一樣出發,應對 DNS 傳播延遲
DNS 傳播延遲雖然令人沮喪,卻是管理 DNS 變更時無可避免的一部分。到現在為止,你應該已充分了解這些延遲的成因,並像 Sonic 一樣,準備好運用這些貼士來加快進度,將停機時間減到最低。
既然你現在已是 DNS 傳播專家,何不看看我們在 Advanced DNS app 中提供的即時 DNS propagation checker?這是掌握網域狀態、讓你更安心的簡單方法。
常見問題
DNS 傳播通常需時數分鐘至 48 小時,視乎 TTL(Time to Live)設定、DNS 伺服器快取及網絡狀況等因素而定。
你可以使用網上工具,例如 DNS propagation checkers,或透過 nslookup 或 dig 等指令,從不同地理位置查詢 DNS 記錄來檢查 DNS 傳播。
你無法強制 DNS 傳播,但可以在作出變更前降低 DNS 記錄的 TTL 值,並清除裝置及伺服器上的 DNS 快取,以加快傳播速度。
為了縮短傳播時間,請在作出變更前設定較低的 TTL 值(例如 300 秒)、使用權威 DNS 伺服器,並在可行情況下清除本機及 DNS 伺服器快取。


分享您的想法