您查询的服务器可能正在缓存旧的 IP 地址。首先,通过直接使用 dig 查询两个新的权威名称服务器是否发布了正确的地址:
dig @ns1.newnameserver domain. a
dig @ns2.newnameserver domain. a
假设这些查询给出了正确的答案,挖掘其他一些不是的服务器:
dig domain. a # Use the system's default resolvers
dig @8.8.8.8 domain. a # Use Google's public resolver
dig @some.other.ip.address domain. a
如果它给出了旧答案,请查看 TTL。这是答案中在名称之后和“IN”之前列出的数字字段。这就是您必须等待多少秒,直到您查询的服务器丢弃其缓存数据并再次查询权威服务器。
询问那些相同的名称服务器他们认为“域”在哪里。被委托:
dig domain. ns # Use the system's default resolvers
dig @8.8.8.8 domain. ns # Use Google's public resolver
dig @some.other.ip.address domain. ns
您想查看“domain.”的 2 个 NS reocrd,一个指向“ns1.newnamserver”,另一个指向“ns2.newnameserver”,但解析器同样会缓存该信息,因此它们可能仍然拥有旧的名称服务器。如果是这样,请查看这些 NS 记录上的 TTL。如果这些记录上的 TTL 比 A 记录上的 TTL 长,那么即使它们当前缓存的副本过期,这些解析器仍可能会去旧名称服务器获取“域。”的 A 记录......所以你可能需要先等那个 TTL 过期,再等实际 A 记录上的 TTL 再过期!
您可以做的另一件事是查询您域的父域的一些权威名称服务器,以查看它们是否确实将其委托给“ns1.newnameserver”和“ns2.newnameserver”。这将验证 DNS 中的委派是否与 WHOIS 中的内容相匹配。
dig com. ns # If your domain's parent domain is "com."
dig @<one-of-the-servers-that-resulted-from-that-query> domain. ns
同样,您希望看到“domain.”的 2 个 NS 记录,一个指向“ns1.newnamserver”,另一个指向“ns2.newnameserver”。