假设我拥有由我自己的DNS服务器提供的example.com,我可以创建我想要的所有记录。
现在假设我的一个朋友获得了一个名为new-domain.com的新域名,我想帮助他用自己的DNS服务器管理他的域名。
所以在我的example.com的dns系统中,我创建了两个A记录:
my.ns1.example.com -> some.ip.addr
和
my.ns2.example.com -> some.ip.addr
(some.ip.addr是他的DNS服务器的IP地址)
并要求他将my.ns1.example.com和my.ns2.example.com设置为其域名的名称服务器。
但他无法设置它们,因为它的名称服务器错误无效!
我的理解是因为example.com在DNS系统中正常工作,因此my.ns1.example.com和my.ns2.example.com被正确解析为IP地址,因此没有什么可以阻止它们被使用作为名字服务员。
我四处搜索,发现有人说应该注册域名服务器。我理解在必须要求设置胶水记录时进行注册,但对于这种情况,我不知道为什么我们需要注册这些名称。
为了更具体地说明现实生活中的例子,为什么jobs.ns.cloudflare.com是一个有效的名称服务器,但www.cloudflare.com不是?
答案 0 :(得分:0)
问题不在于名称:my.ns1.example.com
和my.ns2.example.com
都没问题。
注册表,有时甚至是注册商,通常会在批准名称服务器更改之前执行一些检查。如果您的域名服务器被拒绝为无效,则很可能尚未为您朋友的域正确配置。我的意思是,my.ns1.example.com
和my.ns2.example.com
的服务器不包含new-domain.com
所需的最低记录。
也就是说,注册商支持团队应能够提供更多详细信息:如果是拒绝更改的人,他们应该让您知道哪些部分的自动测试失败,甚至提供测试输出所以你可以自己看。另一方面,如果他们只是将更改传递给注册表(您的朋友应该在他的控制面板中看到“注册表级别的操作暂停”通知一段时间),他们可以通过提供基于提示的帮助来做额外的努力他们对特定TLD的经验。也就是说,如果你的朋友没有在域名中以每年0.99美元-5.99美元的价格获得促销优惠:如果他在20美元-50美元一年的范围内支付他们的东西,那么他应该期望并要求一个适当的,有用的支持。我使用最便宜的注册商之一,如果我的名称服务器更改被拒绝,我仍然会收到完整的报告:
尊敬的客户,
注册表不接受您尝试分配的名称服务器 new-domain.com因为他们没有通过注册表测试。请 检查我们从下面的注册表中获得的报告,修复错误 并尝试再次分配名称服务器。
名称服务器可解决的测试:错误
my.ns1.example.com。 ERROR无法解析主持人my.ns1.example.com my.ns2.example.com。 ERROR无法解析的主持人my.ns2.example.com my.ns3.example.com。 OK
my.ns4.example.com。行SOAQueryAnswerTest:错误
my.ns1.example.com。错误java.net.SocketTimeoutException
my.ns2.example.com。错误java.net.SocketTimeoutException
my.ns3.example.com。 OK
my.ns4.example.com。 OK
...... ......
更新: OP发布了一个更新,称只要名称服务器在注册表中注册,就会在他朋友的控制面板中接受这些名称服务器。似乎特定的注册商检查粘合记录,如果没有,则拒绝名称服务器。这是一项不必要的检查,因为只有在名称服务器位于他们所服务的同一域内时才需要粘合记录,如these questions中所述。注册商通常会解释这个very clearly或至少在名称服务器更改表单上面提及:
请注意,在大多数情况下,IP地址不是必需的,实际上会被忽略。只有在您输入的名称服务器是所选域的子域(也称为自定义域名服务器或虚名称服务器)时,才需要这样做。
我们可以得出结论,朋友的注册商执行不必要的阻止测试并且在有用的情况下不响应用户查询。由于OP具有以下需求(引自serverfault上的更新帖子):
我需要能够以编程方式创建动态域名服务器,并要求我的用户在其注册商中输入其域名的特定域名服务器。
我热烈建议他做一些研究,寻找一个体面且价格合理的注册商,他可以指出他的客户/朋友,以防万一他们现有的问题。
答案 1 :(得分:0)
我在serverfault.com上用this link
询问了同样的问题在那里,我引用了答案的重要部分,
从纯DNS角度来看,权威名称服务器(例如com的名称服务器)不应执行任何类型的递归来学习example.com区域中定义的名称服务器的IP地址。相反,注册表允许注册商将粘合记录添加到com域,并且这些注册商可以提供用户界面,以便这些自定义域名服务器所在的域的所有者可以这样做。 (例如:Namecheap - 如何为我的域注册个人名称服务器?)
(为了解决房间里的大象......不,这些胶水记录并不是严格要求的。但政策是政策,如果注册商界面要求注册级别的胶水存在,你有这个问题很少。)
虽然答案没有回答我在问题的最新部分,但我选择了答案并决定提出另一个问题。