使用 CentOs 6.2 和 cPanel 设置名称服务器

使用 CentOs 6.2 和 cPanel 设置名称服务器

我有一台安装了 CentOs 6.2 和 cPanel 的云服务器。

我想用我的域名设置自己的名称服务器。

我的主机名是:something.mydomain.com

我将 ns1.mydomain.com 上的 A 记录更改为我的 IP1,将 ns2.mydomain.com 上的 A 记录更改为我的 IP2

我使用 BIND 通过 cPanel 进行了设置,在 ns1 上使用 IP1,在 ns2 上使用 IP2。

我在我的服务器上打开了端口 53。

但它不起作用。我是不是错过了什么?

答案1

我认为我们这个网站上的大多数人都是直接在 BIND 中配置的,因此回答您的问题可能具有挑战性。如果您对命令行界面很熟悉,您应该发布您的配置文件。如果不熟悉,我建议至少给我们提供相关的 CPanel 窗口的屏幕截图。

和命令对于验证正在发生的事情很方便。这些命令nslookupdig工作方式是指定标志(-option=value),然后指定您要搜索的域,然后指定您要询问的域服务器。在第一个命令中,我没有指定域服务器,因此它只使用了我的本地默认服务器。例如使用 example.com:

选择要查询的TLD服务器

首先,我们需要从 com. 找到一个权威的名称服务器进行查询。从这些服务器中挑选一个作为下次查询的参考。您将在下一节中看到我选择了 b.gtld-servers.net。

$ nslookup -query=NS com
Server:         1.2.3.4
Address:        1.2.3.4

Non-authoritative answer:
com     nameserver = f.gtld-servers.net.
com     nameserver = k.gtld-servers.net.
com     nameserver = h.gtld-servers.net.
com     nameserver = b.gtld-servers.net.
com     nameserver = l.gtld-servers.net.
com     nameserver = d.gtld-servers.net.
com     nameserver = i.gtld-servers.net.
com     nameserver = j.gtld-servers.net.
com     nameserver = g.gtld-servers.net.
com     nameserver = e.gtld-servers.net.
com     nameserver = m.gtld-servers.net.
com     nameserver = c.gtld-servers.net.
com     nameserver = a.gtld-servers.net.

Authoritative answers can be found from:
f.gtld-servers.net      internet address = 192.35.51.30
k.gtld-servers.net      internet address = 192.52.178.30
h.gtld-servers.net      internet address = 192.54.112.30
b.gtld-servers.net      internet address = 192.33.14.30
b.gtld-servers.net      has AAAA address 2001:503:231d::2:30
l.gtld-servers.net      internet address = 192.41.162.30
d.gtld-servers.net      internet address = 192.31.80.30
i.gtld-servers.net      internet address = 192.43.172.30
j.gtld-servers.net      internet address = 192.48.79.30
g.gtld-servers.net      internet address = 192.42.93.30
e.gtld-servers.net      internet address = 192.12.94.30
m.gtld-servers.net      internet address = 192.55.83.30
c.gtld-servers.net      internet address = 192.26.92.30
a.gtld-servers.net      internet address = 192.5.6.30
a.gtld-servers.net      has AAAA address 2001:503:a83e::2:30

验证您的域名的名称服务器是否符合您的预期

在这里,我们看到a.iana-servers.net.b.iana-servers.net.是记录的名称服务器。

$ nslookup -query=NS example.com b.gtld-servers.net
Server:         b.gtld-servers.net
Address:        192.33.14.30#53

Non-authoritative answer:
*** Can't find example.com: No answer

Authoritative answers can be found from:
example.com     nameserver = a.iana-servers.net.
example.com     nameserver = b.iana-servers.net.
a.iana-servers.net      internet address = 199.43.132.53
a.iana-servers.net      has AAAA address 2001:500:8c::53
b.iana-servers.net      internet address = 199.43.133.53
b.iana-servers.net      has AAAA address 2001:500:8d::53

验证您的名称服务器是否返回您期望的地址

一旦我们知道了正确的名称,请检查它是否可以访问并是否为我们提供正确的答案。

$ nslookup -query=A example.com a.iana-servers.net.

Server:         a.iana-servers.net.
Address:        199.43.132.53#53

Name:   example.com
Address: 192.0.43.10

答案2

您需要做的是联系您的域名注册商,让他们将 ns1.mydomain.com 和 ns2.mydomain.com 的胶水记录切换到您的新 IP 地址。胶水记录可防止发生以下情况:

  • 客户端询问 com 域名服务器,mydomain.com 使用哪个域名服务器
  • com 名称服务器以 ns1.mydomain.com 和 ns2.mydomain.com 进行响应
  • 客户端无法确定它们是什么,因为它会向 mydomain.com 的域服务器询问 ns1 和 ns2 是什么(但它在知道 ns1 和 ns2 是什么之前不知道它们是什么)

当有人请求 mydomain.com 的 NS 记录时,com 名称服务器会发送粘合记录。目前,这些记录可能指向您的旧 DNS 服务器,因此客户端会联系它们来获取所有请求。

答案3

您可以参考本指南如何在 CentOS 6.2 VPS 上使用 Bind9 Chroot 设置私有 DNS

您可以比较所有步骤。在本文中,已配置以下步骤:

  • 在 Bind Chroot 服务器中转发命名服务器。
  • 有一个示例区域记录 ehowstuff.local,请用您的域名替换。
  • 冗余名称服务器(ns1、ns2)由主服务器/从服务器组成,从服务器可以下载主服务器的区域

相关内容