我想在用于托管域名网站的同一服务器上设置 DNS 服务。我理解不建议这么做,但有许多外部因素促使我这样做。
通过在端口 80 和 443 上运行 Web 服务器,我可以轻松地在端口 53 上运行 DNS 服务。
我的问题如下:要将注册商指向名称服务器,您不能使用 IP,因此ns1.example.com
需要使用类似的东西。ns1.example.com
如果您不使用注册商的名称服务器,您将在哪里以及如何指向网络服务器?
答案1
您的注册商还应在控制面板的某个地方提供创建“粘合记录”的功能。粘合记录是提交给 TLD 注册中心的记录。 Shunz 先生在评论中链接的问题很好地解释了 DNS 的工作原理以及为什么需要这样做,因此我不会在这里详细介绍,但归结为以下内容:
- 创建一条 A 记录以
ns1.example.com
指向您需要的 IP 地址。您需要执行相同的操作,ns2.example.com
因为每个域名至少需要 2 个名称服务器。* - 使用注册商的工具创建相同的粘合记录
显然我无法告诉您该怎么做,因为您没有告诉我们您使用的是哪个注册商,但简单地在 Google 上搜索“glue records”应该会为您指明正确的方向。或者,如果您仍然找不到,请咨询您的注册商的客户支持团队。
现在来看看我的星号……
你不需要有将您的 2 条记录指向ns
不同的服务器,但请注意,如果您将它们指向同一服务器,并且该服务器离线,您的整个域也会随之离线。而且,由于 NXDOMAIN 响应可以在上游提供商处缓存,因此当您服务器上的 DNS 服务恢复在线时,可能需要一段时间才能再次显示。这就是为什么至少需要 2 个,以提供“备份”,以防其中一个名称服务器离线,您不会面临向用户发送“不知道您在谈论什么域名”响应的风险。
答案2
您的 A 和 NS 记录将如下所示:
example.com. NS ns1.example.com.
example.com. NS ns1.example.org.
example.com. A 203.0.113.7
www.example.com. A 203.0.113.7
ns1.example.com. A 203.0.113.7
请注意,你需要二名称服务器,因此您必须找到可以托管您的域名的第二台服务器。我也在此处添加了该服务器。
接下来,您告诉注册商为您的域名使用这两个名称服务器。他们会将该信息输入到他们的名称服务器中。您必须使用上述记录配置您的 BIND 实例。