CNAME、MX、TXT 記錄
這三種記錄是你日常管理 DNS 最常用的類型。
CNAME 記錄(別名記錄)
作用: 把一個域名指向另一個域名(而非直接指向 IP)
類型 名稱 值(目標域名) TTL
CNAME www example.com. 3600
CNAME blog mysite.wordpress.com. 3600
CNAME shop stores.shopify.com. 3600
工作原理:
用戶查詢 www.example.com
↓ DNS 發現這是 CNAME,指向 example.com
↓ 再查詢 example.com 的 A 記錄
↓ 返回 93.184.216.34
CNAME 的限制
-
根域名不能用 CNAME(IETF RFC 規定):
❌ CNAME @ some-service.com. (根域名不能這樣做) ✅ A @ 12.34.56.78 (根域名只能用 A 記錄)例外:Cloudflare 的 CNAME Flattening 解決了這個問題。 -
不能與其他記錄共存:設置了 CNAME 就不能再設置 A、MX 等其他記錄在同一個名稱下。
常用 CNAME 配置
| 服務 | 設置 |
|---|---|
| GitHub Pages | CNAME www username.github.io. |
| Netlify | CNAME www your-app.netlify.app. |
| Vercel | CNAME www cname.vercel-dns.com. |
| Google Sites | CNAME www ghs.google.com. |
MX 記錄(Mail Exchange)
作用: 告訴發信服務器把 Email 送到哪個郵件服務器
類型 名稱 優先級 值(郵件服務器) TTL
MX @ 1 aspmx.l.google.com. 3600
MX @ 5 alt1.aspmx.l.google.com. 3600
MX @ 10 alt2.aspmx.l.google.com. 3600
優先級(Priority): - 數字越小,優先級越高 - 發信服務器先嘗試最低數字的服務器 - 如果失敗,再嘗試次低數字的服務器(容錯)
主流郵件服務的 MX 設置
Google Workspace:
MX @ 1 aspmx.l.google.com.
MX @ 5 alt1.aspmx.l.google.com.
MX @ 5 alt2.aspmx.l.google.com.
MX @ 10 alt3.aspmx.l.google.com.
MX @ 10 alt4.aspmx.l.google.com.
Microsoft 365:
MX @ 0 yourdomain-com.mail.protection.outlook.com.
Zoho Mail(免費選項):
MX @ 10 mx.zoho.com.
MX @ 20 mx2.zoho.com.
MX @ 50 mx3.zoho.com.
TXT 記錄(文字記錄)
作用: 存儲任意文字信息,常用於域名驗證和 Email 安全配置
類型 名稱 值(文字內容) TTL
TXT @ v=spf1 include:_spf.google.com ~all 3600
TXT @ google-site-verification=xxxxx... 3600
主要使用場景
| 用途 | TXT 記錄內容示例 |
|---|---|
| SPF(防郵件偽造) | v=spf1 include:_spf.google.com ~all |
| 域名所有權驗證 | google-site-verification=xxxxx |
| DKIM 公鑰 | v=DKIM1; k=rsa; p=MIGfMA0G... |
| DMARC | v=DMARC1; p=quarantine; rua=mailto:... |
多個 TXT 記錄可以並存(同一個名稱下可以有多個 TXT 記錄)
一個完整的 DNS 配置示例
假設你有 example.com,網站在自己服務器,Email 用 Google Workspace:
# 網站
A @ 93.184.216.34 3600
A www 93.184.216.34 3600
# Email(Google Workspace)
MX @ 1 aspmx.l.google.com. 3600
MX @ 5 alt1.aspmx.l.google.com. 3600
# Email 安全
TXT @ v=spf1 include:_spf.google.com ~all 3600
CNAME google._domainkey google._domainkey.googlehosted.com. 3600
TXT _dmarc v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com 3600
# 域名驗證(Google)
TXT @ google-site-verification=abc123... 3600
# 子服務
CNAME blog myblog.wordpress.com. 3600
CNAME status stats.uptimerobot.com. 3600
下一節:NS、SOA 與其他記錄——完整了解所有 DNS 記錄類型。