DNS Propagation Checker|DNS 生效检测

DNS Propagation Checker | DNS 生效检测

DNS 生效检测 DNS Propagation Checker

检查域名 DNS 记录在多个公共解析器(可视作不同地区/不同运营商视角)是否已更新。适合排查“我改了 DNS 为啥别人还没生效”。
Check whether DNS records have propagated across multiple public resolvers (a practical proxy for different regions/ISPs). Helpful when you updated DNS but some networks still see old values.

1. 输入参数 · Inputs
建议输入“主域名”或“你刚修改记录的子域名”。工具会自动去掉协议头(https://)与路径。
Tip: enter the apex domain or the exact subdomain you updated. The tool auto-strips protocol (https://) and paths.
期望值可填:
A/AAAA:IP(如 1.2.3.4 / 2606:4700::1111)
CNAME:目标域名(如 target.example.com)
MX:邮件服务器(如 mail.example.com)或包含优先级(如 10 mail.example.com)
TXT:任意子串(如 v=spf1 / google-site-verification=)

Expected value helps the tool label each resolver as “Matched / Not matched”.

小提示:DoH URL 通常是 /dns-query(RFC 8484)接口。工具会用 GET 方式请求并解析 JSON。
Tip: DoH endpoints typically end with /dns-query (RFC 8484). The tool uses GET and parses JSON output.

你可以把“公司内网 DNS / 自建 Unbound / AdGuard Home / Pi-hole(若支持 DoH)”也加入列表,做对比排障:
– 对比公共解析器 vs 你的本地/公司 DNS
– 判断是否“公共已更新但本地缓存没刷新”

You can also test your own DoH resolver to compare public vs internal caching behavior.
0%
3. 使用说明 · Notes
  • 这个工具在做什么? · What does this tool do?
    当你在域名服务商/Cloudflare 修改 DNS 后,不同网络环境(不同 ISP、不同国家、不同公共解析器)并不会“同一秒”同步更新。 这个工具会同时向多个公共 DNS 解析器发起查询,帮助你判断:
    – 哪些解析器已经看到新记录(已生效)
    – 哪些解析器仍在返回旧记录(尚未完全传播/缓存未过期)
    – 是否存在 NXDOMAIN、NoAnswer、解析失败等异常

    After you update DNS at your registrar/Cloudflare, different networks/resolvers won’t update instantly. This tool queries multiple public resolvers in parallel, so you can see who already serves the new record vs who still caches old answers.
  • 如何正确填写“期望值”? · How to use “Expected Value”?
    期望值是“辅助判断”的:如果你填写了它,工具会把每个解析器标记为 Matched/Not matched。常见用法:
    – A/AAAA:填新 IP(例如你把 A 从 1.1.1.1 改成 8.8.8.8,就填 8.8.8.8)
    – CNAME:填目标域名(建议填不带协议的 FQDN,如 cdn.example.com)
    – MX:可以只填 mail.example.com,也可以填 “10 mail.example.com”(不同解析器展示格式可能略有差异)
    – TXT:建议填“稳定的子串”,例如 v=spf1google-site-verification=

    Expected value is optional and used for “match labeling”. For TXT, using a stable substring is usually best.
  • 为什么会出现“没生效”但实际你这里已经生效? · Why can I see new DNS locally but others can’t?
    这通常不是“DNS 没改成功”,而是缓存与 TTL造成的时间差:
    – 你的电脑/路由器/公司 DNS 可能缓存了旧记录(或反过来:公共解析器已更新,但你本地仍旧)
    – 解析器会遵循记录 TTL(Time-To-Live),TTL 未到之前可能继续返回旧答案
    – 如果你使用 CDN/WAF(如 Cloudflare),A/AAAA 结果可能是 Anycast IP,本身就“看起来”不一样

    This is usually TTL caching rather than a failed change. Different layers (OS, router, ISP DNS, public resolvers) cache answers independently.
  • 推荐排查思路 · Recommended troubleshooting flow
    1) 先查你修改的记录类型是否正确(A/AAAA/CNAME/MX/TXT)。
    2) 填上“期望值”,一眼看出哪些解析器已匹配。
    3) 如果多数解析器都匹配,但你本地不匹配:尝试清理本机 DNS 缓存 / 更换本地 DNS / 重启路由器。
    4) 如果多数解析器都不匹配:检查 DNS 面板是否保存成功、记录是否写在正确的 zone、是否存在冲突(如 CNAME 与 A 同名冲突)。

    If most resolvers match but your local doesn’t, it’s likely local/ISP cache. If most resolvers don’t match, review your DNS zone and conflicts.
  • 关于“不同地区”的边界 · Limitations about “regions”
    纯前端网页无法强制让请求从“美国/欧洲/亚洲”真实发出;本工具使用多个公共解析器作为“不同视角”的近似。 如果你需要真正的全球探测(多国家节点),通常需要后端探针或第三方监测平台。

    A browser can’t truly run queries from multiple countries. Public resolvers are a practical approximation, not a full global vantage system.

免责声明:本工具仅用于网络排错与学习。DNS 结果会受缓存、TTL、网络策略、浏览器跨域限制等影响;请以你的权威 DNS 配置与业务监控为准。
Disclaimer: For troubleshooting/education only. Results can be affected by caching, TTL, network policies, and browser CORS limitations. Always rely on authoritative DNS settings and your monitoring for production decisions.