摘要:建站、配邮箱、接 CDN、做域名验证,都绕不开 DNS 解析。本文用一张表讲清 A、AAAA、CNAME、MX、TXT 几种记录各管什么,主机记录 @ 和 www 的区别,TTL 怎么设,以及改完解析不生效时怎么排查。

DNS 的作用,是把人记得住的域名(example.com)翻译成机器用的 IP 地址。你在域名服务商后台添加的每一条“解析记录”,就是在告诉全世界:这个名字指向哪里。

一条解析记录由什么组成

字段含义例子
主机记录域名前缀@ 表示根域名本身,www 表示 www.example.com
记录类型A、CNAME、MX……A
记录值指向哪里203.0.113.10
TTL缓存多久(秒)600

常用记录类型

类型指向典型用途
AIPv4 地址网站指向服务器
AAAAIPv6 地址服务器有 IPv6 时
CNAME另一个域名接入 CDN、对象存储、SaaS 服务(它们会给你一个域名让你指过去)
MX邮件服务器域名,带优先级企业邮箱
TXT一段文本域名所有权验证、邮件反垃圾(SPF、DKIM、DMARC)
NS名称服务器决定由哪家来管这个域名的解析

几个容易踩的坑

1. 根域名不能随便用 CNAME

按 DNS 标准,根域名(@)上不能同时存在 CNAME 和其他记录(例如 MX)。给根域名加 CNAME,可能导致邮箱收不到信。很多服务商提供“CNAME 展平”或“ALIAS / 显性 URL”之类的替代方案,接 CDN 时按服务商的说明来。

2. 同一个主机记录,A 和 CNAME 不能并存

www 已经有 A 记录了,要改成 CNAME,得先删掉 A 记录。

3. 改了 NS 之后,旧后台的解析就失效了

域名的 NS 改到 Cloudflare 这类服务之后,解析要在新的地方管理,原注册商后台里的记录不再生效。见 Cloudflare 接入教程。

4. 邮箱的三条 TXT 记录别漏了

配置企业邮箱时,除了 MX,还要按邮箱服务商的要求添加 SPF、DKIM、DMARC 这几条 TXT 记录,否则发出的邮件容易进垃圾箱。

TTL 怎么设

TTL 是各地 DNS 服务器缓存这条记录的时间:

  • 日常:600 秒(10 分钟)到 3600 秒(1 小时)都可以;
  • 准备迁移服务器前:提前一两天把 TTL 调小(例如 300 秒),切换后变化会生效得更快;稳定后再调回去。

改了解析不生效,怎么排查

  1. 在自己电脑上查:
nslookup www.example.com
dig www.example.com +short
  1. 结果还是旧的:等待 TTL 过期,或者换一个公共 DNS(如 223.5.5.5、119.29.29.29)再查。
  2. 查不到记录:检查是不是加错了主机记录(www 写成了 www.example.com,就会变成 www.example.com.example.com)。
  3. 解析对了,网站还是打不开:那就是服务器、防火墙或者备案的问题了,见轻量应用服务器搭建 WordPress里的排查顺序。

相关阅读