(更新了帖子,添加了更详细的示例)
我有我的域名:示例.com在 DNS 提供商 1 处设置。提供商 1 具有名称服务器:
- ns1.dns1.com
- ns2.dns1.com
我想授权子域名.example.com另一个 DNS 提供商(提供商 2),其名称服务器如下:
- ns1.dns2.com
- ns2.dns2.com
为此,我在提供商 1 处的区域如下所示:
example.com IN NS ns1.dns1.com
example.com IN NS ns2.dns1.com
example.com IN A 127.0.0.1
subdomain.example.com IN NS ns1.dns2.com
subdomain.example.com IN NS ns2.dns2.com
在提供商 2 处我设置了区域:子域名.example.com如下:
subdomain.example.com IN NS ns1.dns2.com
subdomain.example.com IN NS ns2.dns2.com
subdomain.example.com IN A 1.1.1.1
test.subdomain.example.com IN A 1.1.1.2
考试:
# i get a reply (OK here)
dig a subdomain.example.com
# i don't get a reply for this (error)
dig a test.subdomain.example.com
这是正常的吗?
更新 2:用于命令挖一个 test.subdomain.example.com我在结果中得到了域的 SOA 记录示例.com。
;; QUESTION SECTION:
;test.subdomain.example.com. IN A
;; AUTHORITY SECTION:
example.com. 86400 IN SOA ns1.dns1.com. hostmaster.example.com. 2011032805 28800 7200 604800 86400
答案1
我首先要确保您收到 ns1/2.provider-dns.com 作为此查询的答案:
dig subdomain.example.com ns
您可能还想检查区域是否已加载到您委托的名称服务器上。检查您是否获得了正确的序列号:
dig @ns1.provider-dns.com subdomain.example.com soa
如果这不起作用,请与运行 ns1/2.provider-dns.com 的人员核实,以确保您的区域正在加载。
答案2
如果有人真的再次阅读这篇文章,并且想知道解决方案是什么,我赞同乔纳森罗斯的评论。
在提供商一上,您添加了 2 条 NS 记录。但您没有为这 2 条 NS 记录添加 2 条 A 记录。
如果提供商 1 没有 A 记录,那么 2 个 NS 记录只是名称,没有关联的 IP。因此,子域的 DNS 请求无法到达子域的 NS。因为子域的 NS 记录没有关联的 IP。
认为“哦,IP 将在提供商 2 处解析”似乎合乎逻辑(除非您理解这些记录差异,否则您告诉自己的许多“故事”都是有意义的)。请求不会到达提供商 2(除非您打开 dig 或 nslookup 并直接连接到它)。
希望这可以帮助...
答案3
您是否尝试将区域“test.subdomain.example.com”委托给另一个 NS?您只提到了 NS1 和 NS2,并且根据您指定的内容,您在每个 NS 上为“subdomain.example.com”创建了主正向查找区域。如果您想将“test.subdomain.example.com”的权限委托给另一个名称服务器:
- 右键单击 NS1 和 NS2 上的“subdomain.example.com”区域并设置新的委派。
- 使用区域名称“test”并指向您希望对“test.subdomain.example.com”具有权威性的另一个名称服务器。
- 在新名称服务器 (NS3) 上为“test.subdomain.example.com”设置一个新的主正向查找区域
如果您尝试委托“subdomain.example.com”,请遵循相同的流程,但域名级别要高一个。
答案4
您是否尝试过类似的其他工具host -t a test.subdomain.example.com
?
dig
使用起来相当棘手。