ip / nameserver中的BIND配置错误

时间:2012-01-10 13:39:15

标签: linux dns bind propagation nameservers

我设置了几个名称服务器并更新了我的域名以使用它们,据我所知,一切都很顺利,名称服务器已经更新,或者说我所使用的每个whois和dnstools类型的站点都是如此(intodns,who .is等都说同样的事情:新的名称服务器生效,网站指向新的IP就好了。问题是网站没有显示,挖掘告诉我旧的IP /名称服务器仍然有效。

在我的DNS记录中,我有:

domain. A IN NS ns1.newnameserver

domain. A IN NS ns2.newnameserver

ns1 IN A newipaddress

ns2 IN A newipaddress

domain. IN A newipaddress

我的时间很短,并且在互联网上没有找到任何东西,所以任何帮助都会非常感激

2 个答案:

答案 0 :(得分:1)

旧的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

您希望看到2个NS“reocrds”为“domain。”,一个指向“ns1.newnamserver”,另一个指向“ns2.newnameserver”,但解析器同样缓存该信息,因此它们可能仍然具有旧的名称服务器。如果是这样,请查看那些NS记录上的TTL。如果这些记录上的TTL长于A记录上的TTL,那些解析器可能仍会转到旧的名称服务器以获取“域”。即使当前缓存的副本到期时也会记录A ...所以您可能需要等待那个TTL到期第一个,然后让实际A记录上的TTL再次到期!

您可以做的另一件事是查询域的PARENT域的一些权威名称服务器,看看它们是否确实将它委托给“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

同样,您希望看到2个NS“reocrds”为“domain。”,一个指向“ns1.newnamserver”,另一个指向“ns2.newnameserver”。

答案 1 :(得分:0)

如果旧名称服务器仍在运行,则:

  1. 确保它们不是,或
  2. 确保他们也获得了新的区域数据
  3. 有些人仍然会与旧名称服务器通话,在他们停止接听或给出正确答案之前,他们不会从父区域学习新的名称服务器。