解析不生效排查手册
排查 DNS 要按层次来,不要一上来就反复改记录。顺序是:
域名状态 → NS 是否指向 DNSPod → 权威记录是否存在 → 递归缓存是否更新 → 线路/服务器/备案
一、先判断是 DNS 问题还是 HTTP 问题
curl -I http://example.com
| 结果 | 说明 |
|---|---|
HTTP/1.1 200/301/302/403/404 | DNS 已经通了,问题在 Web 服务器、防火墙、应用或备案 |
Could not resolve host | DNS 解析失败,继续往下查 |
Connection timed out | DNS 可能通了,但服务器不可达/端口被拦 |
Connection refused | 解析正确,服务没监听或防火墙拒绝 |
页面出现 403、404、502 等错误码,基本与 DNS 无关,去查 Nginx、应用和安全组。
二、查 NS 是否已经指向 DNSPod
dig +short NS example.com
对比 DNSPod 控制台显示的 DNS 地址。常见情况:
| 结果 | 原因 |
|---|---|
| 还是注册商的 NS | 注册商处没改成功,或还没生效(0–48 小时) |
| 只有一条 NS | 注册商只填了一条,建议补齐两条 |
| 返回空 | 域名状态异常、NS 未配置、查询被拦截 |
SERVFAIL | DNSSEC 配置错误、NS 配置不完整 |
指定公共 DNS 再查一次,排除本地缓存:
dig +short NS example.com @8.8.8.8
dig +short NS example.com @223.5.5.5
如果公共 DNS 已经返回 DNSPod 的 NS,但本地还是旧值,清本地缓存即可。
三、直接问 DNSPod 的权威服务器
从控制台复制一条 NS 地址,直接查询:
dig A www.example.com @f1g1ns1.dnspod.net
把 f1g1ns1.dnspod.net 换成你控制台里的地址。
| 结果 | 说明 |
|---|---|
| 返回正确 IP | DNSPod 侧没问题,问题在递归缓存或本地 |
NOERROR 但没有 ANSWER | 记录不存在、主机记录写错、只加了别的线路 |
NXDOMAIN | 该主机没有记录 |
SERVFAIL | 权威服务器异常或 DNSSEC 问题 |
这一步很关键:它能区分「DNSPod 没配好」和「缓存没更新」。
四、查递归 DNS 和缓存
dig A www.example.com @8.8.8.8
dig A www.example.com @114.114.114.114
如果权威服务器返回新 IP,但递归 DNS 还是旧 IP,就是 TTL 缓存。等待 TTL 到期,或清本地缓存。
清本地 DNS 缓存
Windows
ipconfig /flushdns
macOS
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Linux(systemd-resolved)
sudo resolvectl flush-caches
Chrome
打开 chrome://net-internals/#dns,点击「Clear host cache」。
TTL 的影响
- 修改记录后,旧值会在递归 DNS 缓存到原 TTL 到期。
- 免费版 TTL 最低一般 600 秒,也就是最多等 10 分钟。
- 想快速切换,提前把 TTL 调低,再改记录。
五、检查记录本身
主机记录写错
- 要解析
www.example.com,主机记录填www,不是www.example.com。 - 根域名填
@,不是空、不是example.com。 - 泛解析填
*,它不匹配根域名。
只加了分线路,没加默认线路
如果只给「电信」加了记录,联通/移动用户会解析失败。补一条「默认」线路。
记录被暂停
控制台记录状态可能是「暂停 / DISABLE」。暂停的记录不会返回。
记录冲突
同一主机、同一线路下,CNAME 不能和 A/AAAA 共存。检查是否有历史遗留记录。
记录值不合法
- A 记录必须是公网 IPv4。
- CNAME 必须是域名,不能是 IP。
- MX 必须是域名,并填优先级。
- URL 记录必须是完整 URL,且前后域名已备案。
六、检查域名状态
whois example.com | grep -i -E "status|expir"
重点看:
| 状态 | 含义 | 处理 |
|---|---|---|
Clienthold | 注册商暂停解析 | 未实名、命名审核、违规、欠费,联系注册商 |
Serverhold | 注册局暂停解析 | 同上,通常需要注册商协助 |
pendingDelete / redemptionPeriod | 域名过期/赎回期 | 尽快续费/赎回 |
clientTransferProhibited | 转移锁 | 不影响解析 |
域名过期后续费,解析恢复也可能需要 0–48 小时。
七、检查线路与访问环境
分线路解析
免费版支持默认、国家/大洲、搜索引擎等线路,但不支持电信/联通/移动等运营商线路。如果控制台里没有对应选项,就是套餐不支持,不是 bug。
运营商/地区差异
# 用不同公共 DNS 模拟不同递归
dig A www.example.com @223.5.5.5 # 阿里
dig A www.example.com @119.29.29.29 # 腾讯
dig A www.example.com @8.8.8.8 # Google
如果只有某个地区不对,可能是分线路配置或当地运营商缓存。
服务器侧
- 安全组/防火墙是否放行 80/443。
- 云服务器是否绑定公网 IP/EIP。
- 国内服务器是否完成 ICP 备案(未备案会被阻断 80/443)。
- 是否被运营商封锁 80/443(家宽常见),换端口或走 CDN。
八、邮件解析专项
dig +short MX example.com
dig +short TXT example.com
dig +short TXT _dmarc.example.com
dig +short TXT selector._domainkey.example.com
| 现象 | 排查 |
|---|---|
| 收不到信 | MX 是否存在、优先级是否正确、旧 MX 是否残留、@ 是否有 CNAME |
| 能收不能发 | SPF 是否包含发信服务商、DKIM 是否生效、DMARC 是否过严 |
| 进垃圾箱 | SPF/DKIM/DMARC 是否全部 PASS、IP 是否黑名单、PTR 是否正常 |
| 部分发件人收不到 | 对方 SPF/DMARC 策略、灰名单、反垃圾规则 |
九、常用命令速查
# NS
dig +short NS example.com
dig +short NS example.com @8.8.8.8
# A / AAAA / CNAME
dig +short A example.com
dig +short AAAA example.com
dig +short CNAME www.example.com
# 指定权威服务器
dig A www.example.com @你的DNSPod_NS
# 完整追踪
dig +trace example.com
# MX / TXT / CAA
dig +short MX example.com
dig +short TXT example.com
dig +short CAA example.com
# HTTP
curl -I http://example.com
curl -vI https://example.com
# 域名状态
whois example.com
Windows 没有 dig 时可以用:
nslookup example.com
nslookup -type=NS example.com
nslookup example.com 8.8.8.8
十、按现象快速定位
| 现象 | 最可能的原因 |
|---|---|
| 刚改完记录,自己电脑不生效 | 本地/递归缓存,等 TTL |
| 自己生效,外地朋友不生效 | 分线路缺默认线路、地区缓存 |
dig 权威有值,递归没值 | 缓存未过期,或递归被污染 |
| 权威直接查都没有 | 记录没保存、主机记录错、记录被暂停 |
| NS 一直不是 DNSPod | 注册商没改、域名锁定、Clienthold |
| 网站 404/403 | DNS 正常,查 Web 服务 |
| 网站超时 | 安全组/防火墙/端口/备案 |
| 邮件收不到 | MX 错、旧 MX 残留、@ CNAME 冲突 |
| 邮件进垃圾箱 | SPF/DKIM/DMARC 未通过、IP 信誉 |
| 证书签发失败 | _acme-challenge TXT 未生效、CAA 限制 |
十一、推荐工具
- DNSPod 域名自助检测:控制台内的「DNS 诊断 / 网站健康检测」。
- DNS.TECH:查看全国递归 DNS 的解析结果。
dnschecker.org:多地区 NS/A 记录传播情况。intodns.com:MX、NS、SPF 等整体体检。- 腾讯企业邮域名解析自检:检查 MX/SPF/DMARC。
相关阅读: