跳到正文
马克工具箱

DNS 生效检测

修改 A 记录、CNAME 或 MX 后,用它看新解析是否已经生效。工具直接问域名的权威服务器拿到「当前设置」,再和 6 个常用公共 DNS 的缓存结果逐个对比,标出还在返回旧记录的服务器,以及缓存大约多久后过期。

在服务器上处理,处理完不保存

使用步骤

  1. 输入刚修改过解析的域名(例如 www.example.com),选择改动的记录类型。
  2. 点「检测」,第一行是权威服务器上的当前设置,下面是各公共 DNS 的结果和状态。
  3. 有「旧记录」时按提示的时间再查一次,也可以勾选「每分钟自动重查」等它全部生效。

参数说明

权威服务器
域名 NS 记录指向的服务器(通常是你的解析服务商),它的应答就是你在控制台里设置的值。
已生效 / 旧记录
公共 DNS 返回的值和权威服务器一致为「已生效」;不一致说明它还在用缓存,要等 TTL 倒计时结束。
TTL
公共 DNS 一栏显示的是缓存还剩多少秒过期;权威服务器一栏是你设置的 TTL。

解析结果是怎么对比的

工具只对比你输入的那个确切名称上的记录,比如 www.example.com 上的 CNAME,或者该名称本身的 A 记录。CNAME 链后面的 IP 地址会被忽略,因为 CDN 可能合理地给不同的解析器返回不同的地址。域名的比较不区分大小写,也忽略末尾的点;TXT 值则要完全一致。

状态 含义
已生效 记录与权威服务器一致
旧记录 记录不同,仍然来自缓存
无记录 解析器对这个名称没有返回任何内容
查询失败 查询超时或无法完成

对于结果仍不一致的解析器,显示的等待时间是它们应答中剩余 TTL 最长的那个,所以是一个上限:有些可能更早刷新。如果权威服务器没有应答,就以各公共解析器中最常见的应答作为参照。

常见问题

改了解析多久才能生效?

取决于旧记录的 TTL。公共 DNS 缓存了旧值,要等这段时间过去才会重新查询;新增的记录一般几分钟内就能查到。想让下次修改更快生效,可以提前把 TTL 调小(例如 600 秒)。

为什么不同 DNS 返回的 IP 不一样,却显示「已生效」?

使用 CDN 或智能解析时,不同地区、不同运营商本来就会拿到不同的 IP。工具只比较域名本身的那条记录(例如 CNAME 指向哪里),最终解析到的 IP 只作参考。

Google、Cloudflare 的结果准吗?

查询从我们位于中国大陆的服务器发出。对被屏蔽的域名,发往境外 DNS 的查询可能被干扰,返回错误的地址;普通网站不受影响。

能查全国或全球各地的生效情况吗?

不能。这里只对比几个公共 DNS 和权威服务器,不是多地探测;本地网络(宽带、手机网络)用的运营商 DNS 也有各自的缓存。

隐私说明

这个工具需要服务器完成:你输入的内容或文件通过 HTTPS 发送到我们的服务器,处理完立即丢弃,不做保存。服务器访问日志会记录 IP 地址和请求地址,仅用于防止滥用。

相关工具