$ORIGIN example.com. ; not necessary, using this to self-document
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
1970010100 7200 1800 1209600 300)
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 198.51.100.1
ns1 IN A 198.51.100.2
ns2 IN A 198.51.100.3
sub1 IN NS ns1.example.edu.
sub2 IN NS ns1.sub2
ns1.sub2 IN A 203.0.113.1 ; inline glue record
Run Code Online (Sandbox Code Playgroud)
NS 记录在域顶点下的作用是众所周知的。它们的存在是为了将子域的权限委托给另一个名称服务器。上面的例子应包括的NS记录sub1和sub2。这些允许名称服务器为它认为自己不具有权威性的域部分分发引用。
在NS的目的,记录在一个域的顶点,ns1而ns2在这种情况下,似乎较少地受到互联网的大了解。我的理解(可能不是整体的)如下:
我一直在与某个网络供应商发生一些问题,原因是未更改的名称服务器使我的网站对他们的客户不可见。除了他们是爱尔兰最大的 ISP 之一之外,我不会感到困扰。
他们声称这些记录在我站点的旧名称服务器上仍然处于活动状态,因此在收到响应告诉他们该站点没有 dns 记录之前,他们不应更改。
我的问题是,什么是正确的行为?网络上的所有其他网络提供商、isp、dns 服务器都已更新为我的新名称服务器。
他们是否遵循了一些技术上正确但被忽略的 RFC,该 RFC 说他们不需要检查新的名称服务器,直到旧的名称服务器返回错误?
更新:
Vodafone 最终联系了我并说他们已经解决了这个问题,更重要的是现在正在将其上报给他们正确的技术人员,因此这个问题不应该影响其他任何人。希望这能解决问题。
如果我们有example.com,我们将设置如下内容:
$ORIGIN example.com.
@ 1D IN SOA ns1.example.com. hostmaster.example.com. (
2002022401 ; serial
3H ; refresh
15 ; retry
1w ; expire
3h ; nxdomain ttl
)
IN NS ns1.example.com.
IN NS ns2.example.com.
Run Code Online (Sandbox Code Playgroud)
因为在父区域.com 中。example.com已经有 NS 记录。ns1.example.com 的子区域和 A 胶水记录。我们在子区再次声明 NS 记录的目的是什么?
此外,我们是否需要为子区域本身的名称服务器声明 A 记录?