改了一条 A 记录,自己电脑上 dig 已经拿到新 IP,同事那边却还在访问旧机器;或者域名刚解析好,浏览器一直报「无法访问此网站」。这类问题九成不是「云解析坏了」,而是链路上某一层还缓存着旧答案,或者压根没走到权威 DNS。
我把排查顺序固定成三层:NS 有没有接进来 → 记录类型配得对不对 → TTL 让对方等多久。按这个顺序走,绝大多数解析问题十分钟内能定位。文末附一份版本选型表和常用命令。
一、先搞清楚一次解析到底经过谁
访问一个域名,DNS 查询要过五道手:
| 顺序 | 环节 | 谁在管 | 缓存多久 |
|---|---|---|---|
| 1 | 浏览器 DNS 缓存 | 浏览器 | 通常 60 秒左右,Chrome 可在 chrome://net-internals/#dns 清 |
| 2 | 操作系统缓存 | 本机 DNS Client 服务 | 跟着记录 TTL 走,Windows 可 ipconfig /flushdns |
| 3 | 运营商 / 公共 LocalDNS | ISP 或 223.5.5.5 这类递归服务器 | 跟着记录 TTL 走,这是最容易骗人的一层 |
| 4 | 根 → 顶级域(.com/.cn) | 顶级域服务器 | 缓存的是「这个域名的 NS 是谁」,.com 约 48 小时、.cn 约 24 小时 |
| 5 | 权威 DNS(阿里云云解析) | 你配记录的地方 | 不缓存,永远是实时值 |
关键结论:第 5 层永远是新的,前 4 层才是「不生效」的来源。所以排查方向应该是「谁还拿着旧答案」,而不是反复在控制台改记录。
二、第一层:域名到底有没有接入云解析
控制台里能看到记录、能点保存,不代表这个域名真的在用阿里云的权威 DNS。判断标准只有一条:域名注册商那边登记的 NS 是不是指向阿里云。
用一条命令就能看:
dig example.com NS +short
阿里云云解析分配的 NS 地址按版本区分:
- 免费版:
dns(1-32).hichina.com、ns(1-8).alidns.com - 付费版:
vip(1-8).alidns.com
地址里的编号只是共享地址池里不同的服务器实例,不是给某个域名单独分配的专属机。如果 dig NS 出来的还是别家服务商(或者还是域名注册商默认的地址),那你在阿里云控制台配的所有记录都不会生效——控制台一般会提示「未接入使用云解析DNS」,就是这个原因。
改 NS 属于顶级域注册信息的变更,全球生效最长 48 小时,部分资料按 72 小时算。这段时间千万别把原服务商的记录删掉,两边并行跑着,等 NS 全部刷新生效再收尾,否则中间会有一段解析空窗。
三、第二层:记录类型和主机记录
阿里云云解析支持的记录类型不少,日常真正会用到的就那么几种:
| 类型 | 用途 | 记录值形态 | 关键限制 |
|---|---|---|---|
| A | 域名 → IPv4 | 203.0.113.10 |
与 NS、CNAME、ALIAS、URL 转发冲突 |
| AAAA | 域名 → IPv6 | 2001:db8::1 |
同上 |
| CNAME | 域名 → 另一个域名 | www.example.com |
与其他所有类型冲突(主机记录非 @ 时);不能带协议、路径;建议不超过两级跳转 |
| MX | 指定收信服务器 | 10 mail.example.com |
优先级 1~50,数值越小越优先;只支持轮询 |
| TXT | 验证 / 反垃圾邮件 | v=spf1 ... |
记录值最长 512 字符,区分大小写;_dnsauth、_acme-challenge 这类前缀要完整填 |
| URL 转发 | 域名跳转到已有站点 | 目标 URL | 不支持泛解析、转发前域名不支持 HTTPS、不提供 SLA |
| ALIAS | CNAME 展平 | 目标域名 | 仅企业旗舰版(10 条)/尊享版可用,与 DNSSEC 互斥 |
两个最常见的坑:
坑一:主机记录填了完整域名。 控制台的主机记录只填前缀,系统自动拼主域名。www.example.com 填 www,主域名填 @,test.blog.example.com 填 test.blog。填成完整域名,解析结果会变成 www.example.com.example.com,看起来「配了但不生效」。
坑二:CNAME 和别的记录挤在同一个主机记录上。 CNAME 在 DNS 协议里优先级最高,递归服务器查到 CNAME 就直接去追新域名,同一主机记录下的 MX、TXT 全部失效。所以阿里云在添加时做了前置拦截。真需要「主域名既指向 CDN 又要收邮件」,只能上 ALIAS 记录(旗舰版起),或者把子域名拆开。
还有一个隐蔽问题:默认线路配 CNAME、智能线路配 A 记录,解析结果会随访问者所处线路来回跳,看着像「调度不准」,其实是配置冲突。默认线路一定要留一条兜底记录。
四、第三层:TTL 决定了你要等多久
TTL 是这条记录在 LocalDNS 里的缓存寿命。三个事实要记住:
- 新增记录实时生效。因为没人缓存过它,LocalDNS 只能去权威服务器现查。(前提是首次添加;删掉再加不算,旧缓存还在。)
- 修改 / 删除要等旧 TTL 过期。理论上最长等于修改前那条记录的 TTL。TTL 是 600 秒就等 10 分钟,是 3600 秒就等 1 小时。
- 少数运营商会强行缓存更久,所以官方给的兜底值是 48 小时。有些地区秒变、有些地区一小时没动静,就是各家 LocalDNS 的缓存计时起点不同。
TTL 的取值边界按版本不同:
| 版本 | 最小 TTL | 最大 TTL |
|---|---|---|
| 免费版 / 个人版 | 600 秒 | 86400 秒 |
| 企业旗舰版 / 尊享版 | 1 秒 | 86400 秒 |
由此推出一条运维习惯:要切 IP 之前,先把 TTL 调小,等一个旧 TTL 周期过去,再改记录值。想从 3600 秒降到 600 秒,得先等一小时让旧缓存自然过期,降下来的 TTL 才会真正作用到所有 LocalDNS。反过来临时想「改完立刻生效」,在免费版上做不到——600 秒是硬下限。
五、DNS 之外的两个前提:备案与安全组
解析对了、IP 也对,浏览器还是打不开,多半是这两件事:
- 备案:域名指向中国内地服务器提供 Web 服务,需要先完成 ICP 备案。没备案的域名解析过去,访问会被阻断。URL 转发如果转发服务器在中国内地,转发前的域名同样要备案。
- 安全组 / 防火墙:80、443 端口没放通,DNS 全对也连不上。
curl会直接 timeout 或 connection refused,跟解析失败的表现完全不同。
六、四步命令排查法
我一般按这个顺序跑,基本能一步定位到层:
# 1. 权威侧返回了什么(绕过本地缓存,直接问阿里云公共 DNS)
dig www.example.com @223.5.5.5 +short
# 2. 本地拿到的是什么(对比上一条,不一致就是本地缓存问题)
dig www.example.com +short
# 3. 这个域名的 NS 是谁(不是阿里云就是没接入)
dig example.com NS +short
# 4. 全链路走一遍,看在哪一跳断的
dig +trace www.example.com
dig +trace 会把根、顶级域、权威服务器逐跳打印出来。如果 NS 已经指向阿里云、权威侧能返回正确 IP,只剩本地是旧值,那就什么都不用改,等 TTL 过期即可——这时候反复刷控制台没有任何意义。
HTTP 层再补一条:curl -I http://www.example.com 看返回的 Server 头和状态码。连不上是网络/安全组问题,连上但内容不对是源站或缓存问题,跟 DNS 无关了。
七、版本怎么选:别只看「有没有解析记录」
免费版能用,但它的定位是业务测试。真正上生产,几个硬指标会立刻显出差距:
| 指标 | 免费版 | 个人版 | 企业旗舰版 | 尊享版 |
|---|---|---|---|---|
| 可用性 SLA | 无保证 | 100% 月度 | 100% 月度 | 100% 月度 |
| 解析量限额 | 10 万次/日/域名,超出可能动态限速 | 不限 | 不限 | 不限 |
| DNS 节点 | 中国内地 4 个 | 内地 11 + 海外 16 | 内地 11 + 海外 16 | 内地 11 + 海外 16 |
| 解析峰值 | ≤2 万 QPS | ≤20 万 QPS | ≤20 万 QPS | ≤20 万 QPS |
| 最小 TTL | 600 秒 | 600 秒 | 1 秒 | 1 秒 |
| 智能解析 | 基础地域 + 四家运营商线路 | 加广电、鹏博士、雅虎 | 细分到省份/国家、自定义线路 | 同旗舰 |
| 请求量统计 | 不支持 | 支持 | 支持 | 支持 |
| 解析记录备份 | 不支持 | 不支持 | 支持 | 支持 |
| DNSSEC | 不支持 | 支持 | 支持 | 支持 |
| URL 转发条数 | 2 条 | 5 条 | 10 条 | 不限制 |
| 单主域解析记录数 | 10 万条 | 10 万条 | 10 万条 | 不限制 |
按用途落地:
- 个人博客、测试域名:免费版够用,但要知道它没有 SLA、只有 4 个内地节点、日解析量 10 万次上限。流量一上来触发限速,表现就是「偶尔解析超时」。
- 个人开发者的小项目、独立站:个人版起步价 19.9 元/年(官网折扣价),换来 100% 月度 SLA 和海外节点,性价比很高。注意个人版只有个人开发者能新购,企业认证账号买不了。
- 企业业务:企业旗舰版,最小 TTL 能到 1 秒、支持省级/国家级线路细分、带解析记录备份,适合需要灰度切换和地域调度的场景。企业标准版已经停止新购,只支持存量续费。
- 大型业务、金融类:尊享版,记录数不限制、1 对 1 专家服务。
两个容易被忽略的计费事实:
- 2025 年 10 月 30 日起,新购或升级的付费版实例不再提供「无防御」规格,默认带基础防御或全力防御。基础防御是单域名每秒 1000 万次,全力防御是亿次级。算预算时别按老文章里的「无防御价」估。
- DNS 版本本身不含健康检查。要做主备切换、故障摘除,得单独开通全局流量管理 GTM 3.0,按量付费。想靠 DNS 记录自己实现「挂了自动切」,是做不出来的。
八、八条避坑清单
- 主机记录只填前缀,填完整域名必错。
- 主域名用
@,泛解析用*,但 URL 转发不支持泛解析。 - CNAME 与同主机记录下其他所有类型冲突;要并存就换 ALIAS(旗舰版起)。
- 默认线路必须留一条兜底记录,否则未匹配线路的请求直接解析失败。
- 切 IP 前先降 TTL 并等一个周期,别指望改完立刻全量生效。
- 免费版 TTL 下限 600 秒,要秒级切换只能上企业旗舰版。
- TXT 记录值区分大小写、不能带多余空格,
_dnsauth、_acme-challenge前缀要完整复制。 - 控制台显示「未接入使用云解析DNS」先查 NS,别急着删记录重建;NS 状态检测是定时异步的,改完等几分钟再刷新。
最后
DNS 这套东西的问题,八成不是「配错了」,而是「配对了但别人还没收到」。把 NS、记录类型、TTL 三层按顺序过一遍,比在控制台里反复点保存有用得多。产品能力和价格以官方页面实时展示为准,版本规格近两年调整过几轮,选型前建议自己再对一遍当月的版本对比页。
需要开公网权威解析或者升级版本的,可以从这里进:云解析 DNS 产品页。

