外观
3.1 DNS 段检查
约 741 字
链路检查
本页对应「三、操作步骤」的 3.1,完成主域名与加速域名的解析核对,确认记录类型、记录值、线路与 TTL 均符合预期。返回上级:链路检查。
前置条件
- 已从解析控制台导出主域名
example.com与加速域名cdn.example.com的目标记录值,作为比对基准。 - 终端可执行
dig,且能访问 8.8.8.8、1.1.1.1、223.5.5.5 三个公共解析。 - 已确认本地 hosts 文件没有覆盖这两个域名,否则查询结果会固定指向本地配置。
- 已记录本次检查的开始时间与出口 IP,便于把结果与变更时间对齐。
- 已知该域名使用分线路解析还是统一解析,分线路场景需要按线路逐条核对。
操作步骤
- 查询权威服务器与基础记录,先确认解析托管在哪家服务商:
dig example.com NS +short
dig example.com A +noall +answer
dig cdn.example.com CNAME +short- 用三家公共解析交叉验证,排除单线路或单递归的异常:
for r in 8.8.8.8 1.1.1.1 223.5.5.5; do
echo "== resolver: $r"
dig +short example.com A @$r
dig +short cdn.example.com @$r
done- 确认 CNAME 目标本身可以继续解析,避免“CNAME 指过去但目标是空记录”:
target=$(dig +short cdn.example.com CNAME)
echo "cname -> $target"
dig +short "$target"- 需要判断是否仍在用旧记录时,查看应答 TTL 与完整链路:
dig example.com A +noall +answer +ttlid
dig example.com A +trace | tail -n 20结果确认
dig +short example.com A返回的地址与解析控制台一致,且不包含已下线的旧 IP。- 三家公共解析结果相同;启用分线路解析时,同一线路内的结果必须一致。
- 应答 TTL 不大于配置值,连续查询时数值递减,说明请求未命中旧的递归缓存。
dig +trace的最后一段由目标权威服务器给出应答,未出现 SERVFAIL 或 NXDOMAIN。
注意事项
- 修改解析后不要立刻判定失败,应按 TTL 等待,到期后再复测,并在记录表写明修改时间。
- 浏览器与系统 DNS 缓存会返回过期结果,复测前先换终端或清空缓存。
- 记录输出时保留完整应答行,不要只写“解析正常”,否则无法判断当时指向的是哪个地址。
- 复核以解析控制台为基准,命令行结果只作佐证;两者冲突时先确认控制台是否刚保存、是否命中了未刷新的页面缓存。
- 启用分线路解析时,公共解析看到的通常是默认线路,其余线路要到权威服务器上逐条查询,不能只测一条线路就下结论。
- 变更前把原记录值、TTL 与生效时间抄进记录表,回滚时按原值恢复,不要凭记忆填写。