3 domain-name-system bind dns-zone
我试图在我的 linux VPS 上使用 bind9 来“托管”我的域名的区域文件。我的困惑是我的 VPS 的主机名是那个域名。如果客户端查找ns1.mydomain.com并且我的 VPS 正在为该区域文件提供服务,则客户端将永远无法访问example.comto solve的区域文件ns1.example.com。
所以这是我的问题:在域名的“名称服务器”字段中使用 IP 地址而不是域名是否可以接受?我以前从未见过这样做过,我想知道是否有原因。
不,您不能仅将 IP 地址用作名称服务器。
要解决明显的鸡与蛋问题,您需要将胶水记录插入到父区域中。例如.com.,父区域将是.com。您的注册商必须这样做..
因此,为了争论起见,假设您的 VPS 的 IP 地址是 10.1.2.3,并且您有一个在 192.168.168.192 上运行的辅助名称服务器。
在由 bind 提供的区域文件中,你可能有这样的东西。
example.com. IN A 10.1.2.3
example.com. IN NS ns1.domain.com.
example.com. IN NS ns2.domain.com.
ns1.example.com. IN A 10.1.2.3
ns2.example.com. IN A 192.168.168.192
Run Code Online (Sandbox Code Playgroud)
然后,除了向您的注册商提供 ns1.example.com 之外。和 ns2.example.com。作为域名服务器,您需要向注册商提供与这些域名服务器对应的 IP 地址。然后,注册商会将这些信息传递给注册管理机构。
威瑞信(他们使用 .com)然后将在他们的区域文件中,即 .com 区域文件:
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
ns1.example.com. IN A 10.1.2.3
ns2.example.com. IN A 192.168.168.192
Run Code Online (Sandbox Code Playgroud)
没有其他针对 example.com 的条目。(除非您添加更多名称服务器,或添加 DNSSEC,在这种情况下,它们将在父区域中拥有 DS 记录)
父区域中的 A 记录称为“胶水记录”,它们解决了鸡与蛋的问题。