DNS传播 - 为什么子域只能在创建后的几分钟内访问(自己的名称服务器)

Gul*_*nor 5 apache dns cpanel nameservers propagation

我们对子域的DNS传播行为有疑问.

这是我们想要实现的方案:

User1在我们的网站"company.com"注册.自动创建子域"user1.company.com",而不是"company.com"的附加域,而是WHM中的独立帐户.

因此,正在创建一个自己的区域并且正在设置A记录(与company.com相同的IP)NS记录也设置为"ns1.domain2.com + ns2.domain2.com",我们自己的名称服务器(没有群集, 2个不同的IP,BIND方法,它们通过与company.com和子域相同的WHM安装提供.Domain2.com由我们的注册商GoDaddy处理,名称服务器ns1 + ns2也在那里定义.

我们的问题是,在创建之后,域"user1.company.com"无法立即访问(与附加域不同).

当我们使用来自ISP的名称服务器查找新域"user1.company.com"时,在创建它之后,我们将获得"不存在的域".然后,在1-15分钟后,根据我们尝试的DNS,nslookup会回答正确的IP地址.来自谷歌的DNS(8.8.8.8)例如立即!使用正确的IP地址回答问题.

当用户尝试访问其子域"user1.company.com"时会发生什么?我们的名称服务器是否已联系以解析子域,还是以某种方式在全球范围内的DNS服务器上传播的子域?但是为什么Google的DNS会立即回答,传播速度不会那么快!

无论用户使用哪种DNS,任何可能存在问题的想法以及如何在创建后立即访问子域帐户?

非常感谢

Air*_*bat 2

我对DNS的理解是解析一个url,过程如下:

通常,当我们联系 DNS 服务器时,这并不是它第一次收到对特定网站的请求,它们会保留以前请求的记录,直到它们过期。到期前的时间长度(TTL - 以秒为单位的值)根据您的设置而变化。如果您更改记录,很可能有大量 DNS 服务器保存有这些缓存记录。一旦这些记录过期或服务器第一次收到对其不知道的 URL 的请求,DNS 服务器就会执行“递归查找”以获取最新数据。

以下是递归查找a.contoso.com. (注意末尾的点通常是隐藏的)

该过程从 URL 末尾的隐藏点开始向后进行:

1 - 联系根名称服务器(点服务器),它们的 IP 地址预先加载到 DNS 服务器上,这些 IP 对于每个服务器都是相同的并且不会更改,它们为 .COM DNS 服务器提供 IP 地址(或无论您使用哪个 TLD,例如 .net)

2 - 然后在 .COM DNS 中查询 contoso.com 中的“contoso”。(如果您更改了名称服务器,这可能就是您的问题所在)

3 - 然后,您在 contoso.com 的 DNS(您的名称服务器)中查询 a.contoso.com 中的“a”

无限循环(bacontoso.com、2.ww.cbacontoso.com...)

这些递归查找替换陈旧记录的过程称为传播。

我假设您由于切换期间的传播而没有收到发送到您的名称服务器的请求,您的服务器没有正确地将 A 记录复制到名称服务器

域传播仅在转移域时才是问题,而不是在创建新域时出现,因为您不必处理过时的记录,因为这些记录从未存在过。该请求将直接发送至源。