把域名指向服務器:A / AAAA / CNAME 與 TTL 實操
域名指向服務器的完整實操:A/AAAA/CNAME 各管什麼、TTL 怎麼設、切換窗口的標準動作、dig 逐層驗證,以及根域 CNAME、IPv6 半配置等五個高頻翻車點。
「買個域名、解析到服務器」聽着是五分鍾的事,實際是新手翻車率最高的環節之一:記錄類型選錯、TTL 設錯、IPv6 配了一半、切換窗口沒留夠——每個坑都能讓站點「時好時壞」。本篇是域名與 DNS 中心的實操篇:從記錄類型到驗證命令,一次配對的完整流程。
三種記錄各管什麼
| 記錄 | 指向 | 用在哪 | 注意 |
|---|---|---|---|
| A | IPv4 地址 | 根域(example.com)與子域必配 | 值只能是 IP,不能是域名 |
| AAAA | IPv6 地址 | 有 v6 就配;沒有就徹底不配 | 半配置(只配 www 不配根域)會造成「部分用戶打不開」 |
| CNAME | 另一個域名 | 子域指向 CDN/負載均衡/第三方服務 | 根域不能用 CNAME(RFC 約束),用 A 記錄或商家的 CNAME 拉平功能 |
選擇口徑一句話:目標是自己服務器的固定 IP → A(+AAAA);目標是第三方服務給的域名(CDN、負載均衡、SaaS)→ CNAME。混用的典型錯誤是給 CDN 配了 A 記錄——CDN 的 IP 是調度的,寫死 A 記錄等於繞過了調度。
TTL:切換窗口與解析效率的平衡杆
TTL 是解析結果的緩存時長。常態用 3600(1 小時)即可;切換前 24–48 小時把 TTL 降到 300(5 分鍾),讓全網緩存先「排空」;切換完成、確認穩定後再調回 3600。TTL=60 的「秒級切換」是錯覺——各地遞歸 DNS 對低 TTL 的遵守程度參差,切換生效時間取決於最慢的那批緩存,預留窗口比壓 TTL 可靠。
標準操作流:切換一次解析的完整動作
# ① 切換前 48h:降 TTL(在 DNS 面板把相關記錄 TTL 改爲 300)
# ② 切換前:記錄當前解析作爲對照基線
dig +short example.com A && dig +short example.com AAAA
dig +short www.example.com
# ③ 新服務器先行驗證(不改解析,用 Host 頭直接測新機器)
curl -sI -H "Host: example.com" http://新服務器IP/ | head -5
# ④ 切換:更新 A/AAAA 值 → 立即用公共解析器驗證
dig +short example.com A @223.5.5.5 # 阿裏公共 DNS
dig +short example.com A @8.8.8.8 # Google
dig +short example.com A @1.1.1.1 # Cloudflare
# ⑤ 觀察 24h(舊服務器保持在線接住殘餘緩存流量),確認後再下線舊機
逐層驗證:解析不對時查哪裏
- 第一層:權威側——
dig example.com A @權威NS(NS 地址用dig example.com NS +short拿):權威側不對 = 面板沒保存/改錯區; - 第二層:公共遞歸——@223.5.5.5/@8.8.8.8 結果不對而權威對 = 緩存未過期(等 TTL)或註冊局側同步問題;
- 第三層:本地——公共對而本地不對 = 本地 DNS 緩存/hosts 文件/運營商 LocalDNS 問題:
ipconfig /flushdns(Win)或重啓本地 DNS 服務; - 跨層工具——多地在線 dig(whatsmydns 類)看全國/全球收斂情況,切換後一小時內多刷幾輪。
記錄管理的工程習慣
解析記錄是會「腐爛」的配置:人員更迭、服務下線、臨時記錄忘刪,半年後沒人說得清每條記錄爲什麼存在。三個習慣把腐爛擋住:①命名注釋——每條記錄在面板備注裏寫用途與責任人(CDN、驗證記錄、郵件各歸各);②季度盤點——導出全量記錄與實際在用服務對表,指向已下線服務的記錄當輪刪除(懸掛記錄是子域接管的經典入口,安全影響見安全中心);③變更留檔——改記錄前 dig 存檔舊值,出問題十秒回滾。記錄數少時這些是十分鍾的事,出事故後再補就是考古。
五個高頻翻車點
- 根域 CNAME:部分面板允許保存,但違反 RFC 且隨時可能被上遊拒絕——根域永遠用 A/AAAA(或商家明確的拉平/ANAME 功能);
- 只配 www 忘了根域(或反之):兩個主機名都要配齊,用戶輸入習慣五五開;
- IPv6 半配置:AAAA 記錄存在但服務器 6 端口沒通 = 幫助 v6 的用戶全部超時——要麼全配(服務器 v6 可達 + 防火牆放行),要麼全不配;
- MX/TXT 被覆蓋:改 A 記錄時誤刪郵件相關記錄——動解析前
dig example.com ANY +noall +answer存檔全量記錄; - 域名狀態異常:解析怎麼改都不生效時查域名本身——
whois example.com | grep -i status,clientHold/serverHold(未實名/爭議/過期)狀態下解析整體失效。
NS 與解析託管:域名註冊的下一層選擇
域名在註冊商手裏,解析(DNS 託管)卻可以交給任何人——兩者通過 NS 記錄解耦。選擇口徑:①默認用註冊商 DNS:省心,功能夠用(A/AAAA/CNAME/MX/TXT 齊全),適合單域名小站;②換專業 DNS 託管:需要更高查詢穩定性、按地域/線路的智能解析、DNSSEC 一鍵、大記錄量管理時值得換——切換動作是「在註冊商面板改 NS 記錄」,全球收斂通常 24–48 小時(舊 NS 的 TTL 決定尾巴多長);③切換紀律:改 NS 前把現有全部記錄導出存檔(dig ANY 或面板導出),新託管側先配齊再切——「先建新、後拆舊」是所有遷移的通用安全序。內地業務的另一個考量:部分解析服務商對內地線路有優化節點,但域名合規狀態(實名/備案)與解析行爲要匹配(詳見合規篇)。
配好之後:DNS 層的兩個進階動作
①DNSSEC:給解析結果加籤名,防劫持防污染(部署要點與驗證見同中心郵件認證篇的 DNSSEC 段落);②監控:把「dig +short 結果 == 預期 IP」加進撥測清單——解析被篡改或誤改,監控比用戶先知道。DNS 全景(選 NS、防劫持、郵件認證)→ 域名與 DNS 中心。
下一步:按標準操作流走一遍你的域名切換;服務器還沒定 → 在售配置;解析配完的下一站是證書 → 同中心 SSL 全鏈路篇。