假设我想为我的域名托管自己的公共 DNS,而不是使用我的注册商提供的默认名称服务器。
我启动了两台云服务器,每台都位于不同的数据中心,以实现冗余。我们将一台称为 dc1dns01,另一台称为 dc2dns02。如果我运行 hostname -f,我会得到:
Host 1:
dc1dns01.example.com
Host 2:
dc2dns02.example.com
我访问我的注册网站,并在其门户中注册我的名称服务器。我基本上说我想让 ns1 (dc1dns01) 和 ns2 (dc2dns02) 作为名称服务器,以下是 IP。
我进入前向区域配置并添加:
@ IN NS ns1.example.com
ns1 IN A a.b.c.d
@ IN NS ns2.example.com
ns2 IN A a.b.c.d
这是否正确?我是否需要在 /etc/hosts 中添加一行?即
a.b.c.d dc1dns01.example.com dc1dns01
a.b.c.d ns1.example.com ns1
答案1
我认为这是正确的。DNS 环境本身是完整的,并且只会提供来自 DNS 数据库的答案,而不是来自内部主机名的答案。服务器可以托管多个区域,但不能位于其中任何一个区域。
我要提醒大家,不要只提供两个都位于您的域 example.com 中的名称服务器。很容易出现无人能找到您的任何名称服务器的情况(粘合记录旨在降低这种风险)。您的一个名称服务器可能位于不同的域中(例如 ns1.example.net)。