我只是在尝试为我的个人域名设置自己的名称服务器。我已经在本地运行了 bind,一切运行正常,现在我要告诉我的注册商开始向它发送其他请求。
我的注册商只对我的名称服务器的名称感兴趣,而不是它的 IP 地址。这对我来说毫无意义,因为我的名称服务器没有可解析的名称,如果有,谁来解析它?
我正在尝试尽量减少对外部基础设施的要求(为了学习)。有人能给我解释一下这种情况吗,以及我如何在没有第三方名称服务器的情况下运行我的网站。
答案1
每个名称服务器必须有一个可解析的名称,因为记录的定义NS
需要它,例如:
$ORIGIN example.com
@ IN SOA ( ... )
@ IN NS ns1.example.com
IN NS ns2.example.com
ns1 IN A 192.168.1.1
ns2 IN A 10.0.0.1
如果您的域的名称服务器的主机名位于同一个域内,则上述示例是必要的。
但是在这种情况下,您的父域(例如.com
)也需要知道这两个 IP 地址,因此它们也会有A
上述两个记录的副本。当父区域也保留这些记录时,它们被称为“粘合记录”。
那么,理论上来说,你的注册商应该询问 IP 地址,但前提是名称在您自己的域内。
最终的域名查找如下www.example.com
:
- 到根名称服务器-在哪里
www.example.com
? - 根服务器 - 我们不知道 - 询问
.com
服务器 - 他们在这里(称为“推荐”) - 到
.com
名称服务器-在哪里www.example.com
? .com
名称服务器 - 我们不知道,但我们知道什么example.com
名称服务器是,并且(这是重点部分)-这是他们的 IP 地址- 最后你的名称服务器收到查询,并发回正确的答案
答案2
DNS 需要设置所谓的“粘合”记录,以便您可以将该域的主服务器解析为其 IP 地址。您的注册商应该有关于如何在其托管面板中设置粘合记录的说明。
以供参考: 包含有关胶水记录信息的维基百科文章
答案3
首先,您需要按名称添加主机。注册界面会有一个选项,可能名为“添加主机”。它会以特殊方式将主机添加到 DNS 树中,以便您随后可以将其用作名称服务器。
一旦添加了它们,您就可以在与您的名称服务器相同的界面中指向它们(正如您已经发现的)。
听起来很奇怪,但这是一个基本的“引导”问题。