我正在尝试在 VPS 上配置绑定以制作ns1.example.com
并ns2.example.com
指向它(已完成)并使其提供服务example.com
。
我之前在同一台机器上使用过 webmin,并且 webmin 配置了 bind,并且成功了。过了一段时间,我必须转到另一个面板,现在我无法让它工作。
在我的域名面板上,我已经配置了VPS 的 IP 并将其
ns1.example.com
设置 为“Child NS”。ns2.example.com
我在 debian 上使用 bind。
VPS 名称(由于某些我不清楚的原因而无法更改)是
example.serverdomain
。刚刚测试了防火墙,它在端口 53 上是打开的。
实际上,我复制了 99% 由 webmin 创建的配置文件,这些文件曾经可以工作。
/etc/bind/named.conf.local
文件是:
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
allow-transfer {
127.0.0.1;
localnets;
};
};
-
/etc/bind/db.example.com
文件是:
$ttl 1D
$ORIGIN example.com
@ IN SOA example.serverdomain. root.example.serverdomain.(
20051901 ;Serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
38400 ;Negative Cache TTL
)
@ IN NS example.serverdomain.
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
example.com. IN A 51.222.30.103
www.example.com. IN A 51.222.30.103
ftp.example.com. IN A 51.222.30.103
localhost.example.com. IN A 127.0.0.1
mail.example.com. IN A 51.222.30.103
example.com. IN MX 5 mail.example.com.
我在 intodns.com 上测试过,得到了这个
NS 记录不匹配警告:您的一个或多个名称服务器未返回任何 NS 记录。错误
DNS 服务器响应错误:您的一个或多个名称服务器没有响应:没有响应的名称服务器是:51.222.30.103
所以... 配置有什么问题?
答案1
在我看来这与您的 DNS 服务器无关。
当您拥有父域的子域记录时,您需要粘合记录。这些是根名称服务器中的条目,将这些域硬编码为 IP 地址。听起来这些需要更新才能使您的 DNS 正常工作 - 请与您的注册商联系,因为您的名称服务器上没有这样做。
答案2
请记住权威名称服务器的技术要求。那里也提到了导致您的名称服务无法正常工作的当前配置问题:
胶水与权威数据的一致性
对于将 IP 地址列为粘合 IP 地址的名称服务器,IP 地址必须与该主机的权威 A 和 AAAA 记录相匹配。
您已添加必要的胶水记录通过您的注册商到父区域,但没有A
区域本身的相应记录,即您的区域丢失:
ns1.example.com. IN A 51.222.30.103
ns2.example.com. IN A 51.222.30.103
现在,又出现了另一个问题:两者都指向同一个服务器。这不行:
名称服务器的最小数量
一个委托中必须列出至少两个 NS 记录,并且主机不能解析为相同的 IP 地址。
网络多样性
名称服务器必须位于至少两个拓扑上独立的网络中。网络在 BGP 路由表中定义为原始自治系统。通过检查 BGP 路由表的视图来评估此要求。
您的注册商或 VPS 提供商都可以提供辅助名称服务器作为服务。在构建自己的名称服务之前,应该已经解决了这个问题,但由于您的注册商已经允许您对两个名称服务器使用相同的 IP 地址,因此您仍然有时间在之后修复此问题。一些注册商在允许更改名称服务器之前会进行测试。(在过去的好日子里,例如.fi
当局对此非常严格,错误配置的名称服务器甚至可能导致整个域名被取消。)
最后,您的SOA
记录也有问题。它应该包含您的有效 FQDN 主机名主要权威名称服务器(MNAME
)以及负责该区域的管理员的工作电子邮件地址(RNAME
),例如[email protected]
:
example.com. IN SOA ns1.example.com. hostmaster.example.com. 2020052000 10800 3600 604800 38400