DNS 基礎觀念解析:網域解析運作原理與紀錄類型完整教學

從 A、AAAA、CNAME、MX、TXT、SRV、CAA 到 DNSSEC,用站長會遇到的情境講懂 DNS 基礎觀念,讓你改 DNS 時不再像在猜題。

DNS基礎A記錄AAAACNAMEMXTXTSRVCAADNSSECTTLNS記錄教學網域解析

DNS 對很多人來說很抽象,因為平常看不到它在運作。但你只要有網站、信箱、Cloudflare 或 VPS,就一定會碰到它。這篇的目標不是講很學術,而是讓你看完之後真的知道每種常見記錄在幹嘛。

你如果不想每次都只是照著別人的畫面一步一步跟著按,卻不知道自己到底改了什麼,這篇會比較適合你。重點不是讓你背流程,而是讓你下次遇到類似情況時,還知道該怎麼自己判斷。

你會學到什麼

  • 把 DNS 最核心的幾種紀錄類型一次看懂,包含進階的 SRV、CAA 記錄。
  • 知道網域從輸入網址到找到主機,中間大概經過什麼流程。
  • 了解 DNSSEC 如何保護你的 DNS 查詢安全。
  • 後續改記錄時不再只靠別人說填什麼就填什麼。

什麼情況最適合先看這篇

  • 正在處理網域、解析、Cloudflare 或郵件紀錄,想一次把觀念和排錯順好的人
  • 你現在正要處理「DNS 基礎觀念解析」這類操作
  • 你希望做完之後不只功能能用,連驗證與排錯也有概念

開始前先確認

  • 先準備一個你正在使用或打算設定的網域。
  • 知道目前 DNS 是交給註冊商、Cloudflare 還是主機商。
  • 變更前先把現有紀錄記錄下來。

先提醒你一件事

DNS 問題常常不是設定全錯,而是你同時改了太多地方,最後分不清楚是哪一步造成的。

詳細教學與操作步驟

什麼是 DNS?

DNS(Domain Name System,網域名稱系統)是網際網路的「電話簿」。當你在瀏覽器輸入一個網域名稱(例如 kanrays.net),DNS 會將它轉換為對應的 IP 位址(例如 151.158.27.102),讓你的電腦能找到正確的伺服器。

沒有 DNS,你必須記住每個網站的 IP 位址才能連線,這顯然不切實際。DNS 讓我們可以使用容易記憶的名稱來存取網路資源。

常見 DNS 記錄類型

記錄類型用途範例值
A將網域指向 IPv4 位址203.0.113.10
AAAA將網域指向 IPv6 位址2001:db8::1
CNAME建立網域別名,指向另一個網域名稱www.example.com → example.com
MX指定處理電子郵件的郵件伺服器mail.example.com(優先順序 10)
TXT存放文字資訊,常用於網域驗證、SPF、DKIM 等v=spf1 include:_spf.google.com ~all
NS指定管理該網域的名稱伺服器ns1.cloudflare.com
SRV指定特定服務的伺服器位址與 port_sip._tcp.example.com
CAA指定哪些 CA 可以簽發 SSL 憑證0 issue "letsencrypt.org"

A 記錄 vs AAAA 記錄

A 記錄和 AAAA 記錄做的事情一樣:把網域對應到 IP 位址。差別在於 IP 的版本:

  • A 記錄:對應 IPv4 位址(例如 203.0.113.10),目前最常用。
  • AAAA 記錄:對應 IPv6 位址(例如 2001:db8::1),因為 IPv4 位址快用完了,IPv6 是未來趨勢。

如果你的主機有提供 IPv6 位址,建議 A 和 AAAA 都設定。這樣不管訪客用的是哪種網路,都可以順利連上你的網站。目前台灣的行動網路(如中華電信 4G/5G)已經大量使用 IPv6,設定 AAAA 記錄可以讓行動裝置連線更快。

CNAME 記錄使用時機

CNAME(Canonical Name)是「別名」的概念。最常見的用法是讓 www.example.com 指向 example.com

www    CNAME    example.com

CNAME 有幾個重要限制:

  • 根網域不能用 CNAMEexample.com(根網域)只能用 A 或 AAAA 記錄,不能用 CNAME。
  • 同名不能並存:如果某個名稱已經有 CNAME,就不能再有 A、MX 或其他記錄。
  • 會多一次查詢:DNS 解析器需要先解析 CNAME 指向的目標,再去查那個目標的 IP,速度比 A 記錄多一個步驟。

什麼時候適合用 CNAME?當目標 IP 可能會變動時(例如指向 CDN 或雲端平台),用 CNAME 比較方便,因為對方改 IP 時你不需要跟著改。

SRV 記錄:指定服務位置

SRV(Service)記錄比較進階,用來告訴 DNS「某個特定服務在哪台伺服器的哪個 port」。格式比其他記錄複雜:

_服務名._協定.example.com.  TTL  IN  SRV  優先順序 權重 port 目標主機

常見用途:

  • Microsoft 365:需要 SRV 記錄讓 Teams 和 Skype for Business 正常運作。
  • SIP(VoIP 電話):讓 VoIP 設備自動找到通話伺服器。
  • Minecraft 伺服器:讓玩家用自訂網域連線,不用記 port 號碼。

範例(Microsoft 365 Teams):

_sipfederationtls._tcp.example.com. 3600 IN SRV 100 1 5061 sipfed.online.lync.com.

大多數站長不需要手動設定 SRV 記錄,通常是使用特定雲端服務時,對方會提供需要新增的值。

CAA 記錄:控制誰能簽發 SSL 憑證

CAA(Certificate Authority Authorization)記錄讓你指定哪些憑證機構(CA)可以為你的網域簽發 SSL 憑證。這是一個很實用的安全機制:

# 只允許 Let's Encrypt 簽發憑證
example.com.  CAA  0 issue "letsencrypt.org"

# 只允許 Sectigo 簽發憑證
example.com.  CAA  0 issue "sectigo.com"

# 只允許 DigiCert 簽發萬用字元憑證
example.com.  CAA  0 issuewild "digicert.com"

# 當有未授權的簽發嘗試時,通知你
example.com.  CAA  0 iodef "mailto:ssl-alert@example.com"

CAA 記錄的好處:

  • 防止誤發:即使有人通過了其他驗證,如果 CA 不在你的 CAA 清單中,憑證不會被簽發。
  • 提升安全性:減少憑證被惡意簽發的風險。
  • 不設也可以:如果你沒有設定 CAA 記錄,任何 CA 都可以簽發憑證(這是預設行為)。

如果你的網站使用侃瑞科技的 SSL 全程代管服務,我們會根據你的憑證供應商協助設定正確的 CAA 記錄。

什麼是 TTL?

TTL(Time To Live,存活時間)是 DNS 記錄的快取時間,以秒為單位。它告訴 DNS 解析器:「這筆記錄可以快取多久,過期後需要重新查詢。」

  • TTL 較高(例如 86400 秒 = 24 小時):查詢速度快,但修改後生效較慢。
  • TTL 較低(例如 300 秒 = 5 分鐘):修改後很快生效,但會增加查詢次數。

常見 TTL 設定參考:

情境建議 TTL說明
日常使用3600 秒(1 小時)平衡速度與彈性
準備搬家/切換前300 秒(5 分鐘)提前 24 小時調低
很少變動的記錄86400 秒(24 小時)減少查詢次數
CDN / 負載平衡60-300 秒配合動態調度

建議: 日常使用設定 3600 秒(1 小時)即可。如果你計畫修改 DNS 記錄,建議先將 TTL 降低至 300 秒,等修改完成並確認生效後,再調回較高的值。

DNS 解析流程

當你在瀏覽器輸入 www.kanrays.net 時,DNS 查詢會經過以下步驟:

  1. 瀏覽器快取: 瀏覽器先檢查自己是否已經有這個網域的 IP 記錄。
  2. 作業系統快取: 若瀏覽器沒有,向作業系統的 DNS 快取查詢。
  3. 遞迴解析器(Recursive Resolver): 通常是你的 ISP 或公共 DNS(如 Google 的 8.8.8.8、Cloudflare 的 1.1.1.1)提供的伺服器,它會代替你完成後續查詢。
  4. 根名稱伺服器(Root Server): 解析器詢問根伺服器:「.net 的管理伺服器在哪裡?」
  5. TLD 名稱伺服器: .net 的伺服器回應:「kanrays.net 由這些名稱伺服器管理。」
  6. 權威名稱伺服器(Authoritative Server): 最終查到 www.kanrays.net 的 A 記錄,取得 IP 位址。
  7. 回傳結果: IP 位址沿途回傳並在各層快取,瀏覽器使用該 IP 連線至伺服器。

如果你想看更詳細的圖解流程,可以參考 DNS 解析完整流程圖解

什麼是 DNS 傳播?

當你修改 DNS 記錄後,新的設定不會立即在全世界生效。由於各地的 DNS 解析器都有快取,需要等待舊快取過期後才會取得新記錄,這個過程稱為「DNS 傳播」。

傳播時間取決於原本設定的 TTL 值,通常在數分鐘到 48 小時之間。在傳播期間,不同地區的使用者可能會看到不同的結果(新舊記錄並存)。

你可以使用 dnschecker.org 檢查全球各地的 DNS 傳播狀態。

DNSSEC:保護 DNS 查詢安全

DNSSEC(DNS Security Extensions)是一套為 DNS 加上數位簽章的安全機制。它的目的是防止 DNS 回應被篡改,確保你查詢到的結果確實來自正確的權威伺服器。

為什麼需要 DNSSEC?

一般的 DNS 查詢是明文傳輸,沒有任何驗證機制。攻擊者可以透過「DNS 劫持」或「DNS 快取汙染」,讓你的查詢結果指向惡意伺服器。例如:

  • 你查詢 bank.example.com,攻擊者回傳假的 IP,把你導到釣魚網站。
  • ISP 或中間人竄改 DNS 回應,插入廣告或追蹤程式。

DNSSEC 透過在每筆 DNS 記錄上附加數位簽章,讓解析器可以驗證回應的真實性。

DNSSEC 運作方式簡述:

  1. 權威伺服器用私鑰為每筆 DNS 記錄簽名,產生 RRSIG 記錄。
  2. 對應的公鑰存放在 DNSKEY 記錄中。
  3. 上層 DNS(例如 .net 的 TLD)用 DS 記錄來建立信任鏈。
  4. 解析器從根伺服器開始,一層一層往下驗證,確保每個回應都是正確的。

如何啟用 DNSSEC?

  • 如果你用 Cloudflare 管理 DNS,到 Dashboard → DNS → DNSSEC 頁面一鍵啟用。
  • 啟用後,Cloudflare 會提供 DS 記錄,你需要到網域註冊商那邊把 DS 記錄加上去。
  • 兩端都設定好後,DNSSEC 就會生效。

注意事項:

  • DNSSEC 不加密 DNS 流量(加密是 DoH / DoT 做的事),它只驗證回應的正確性。
  • 啟用 DNSSEC 後如果要轉移網域或更換 DNS 服務商,記得先停用 DNSSEC,否則可能造成解析失敗。

DNS 記錄實際應用對照表

你想做什麼需要哪些記錄
網站上線(基本)A 記錄(根網域 + www)
網站上線(含 IPv6)A + AAAA 記錄
收發 EmailMX + SPF(TXT)+ DKIM(TXT)
防止郵件偽造SPF + DKIM + DMARC(TXT)
使用 CDN 服務CNAME(指向 CDN 網域)
Google Workspace 驗證TXT(驗證碼)+ MX + SPF
限制 SSL 簽發權CAA 記錄
Microsoft 365 TeamsSRV 記錄

常見 DNS 設定錯誤與修正

以下是站長最容易犯的 DNS 設定錯誤,提前知道可以少走很多冤枉路:

錯誤一:根網域設 CNAME

# 錯誤做法
example.com  CNAME  somewhere.cdn.com

# 正確做法
example.com  A      203.0.113.10
www          CNAME  example.com

根網域(@)不能用 CNAME,因為 CNAME 不能和其他記錄並存,會導致 MX、TXT 等記錄全部失效。

錯誤二:多筆 SPF 記錄

# 錯誤做法(兩筆 SPF)
@ TXT "v=spf1 include:_spf.google.com -all"
@ TXT "v=spf1 +a +mx -all"

# 正確做法(合併成一筆)
@ TXT "v=spf1 +a +mx include:_spf.google.com -all"

一個網域只能有一筆 SPF 記錄。如果有多筆,驗證會直接失敗。

錯誤三:MX 記錄指向 IP

# 錯誤做法
@ MX 10 203.0.113.10

# 正確做法
@ MX 10 mail.example.com

MX 記錄的值必須是網域名稱,不能直接填 IP 位址。

錯誤四:CNAME 和 A 記錄同時存在

# 錯誤做法
www  A      203.0.113.10
www  CNAME  example.com

# 正確做法(擇一)
www  A      203.0.113.10
# 或
www  CNAME  example.com

同一個名稱不能同時有 CNAME 和其他記錄。

做完後怎麼確認自己真的有設對

  • 至少用 dignslookup 或線上工具再驗一次,區分是設定錯、快取,還是 propagation。
  • 重新看一次你剛剛改過的設定值、網址、帳號或紀錄,確認沒有填錯對象。
  • 如果這篇操作會影響正式網站或正式信箱,建議再從不同網路或不同裝置測一次。

這一題最常踩的坑

  • 把 CNAME、A、MX 記錄混成同一件事。
  • 不知道 TTL 是什麼,改完就一直刷新等結果。
  • 以為 DNS 設對了,網站就一定能正常開。
  • 根網域設了 CNAME 導致 MX 記錄失效。
  • 沒有設 CAA 記錄,不知道哪些 CA 可以簽發你的憑證。

如果你要往下一步走

如果你想看更直覺的解析過程,接著看 DNS 解析完整流程圖解。 如果你接下來要把網站正式上線,也可以直接銜接侃瑞的 主機方案VPS 方案

需要主機來實作?

侃瑞科技提供 cPanel 虛擬主機與 VPS,教學裡的操作開箱即用。

查看方案 →
LINE 諮詢