名为 (DNS/Bind) 的服务无法启动。我做错了什么?我认为这与我的 155.100.198.in-addr.arpa 文件有关,但我看不到我的错误。
我收到以下错误:
zone 155.100.198.in-addr.arpa/IN: has no NS records
zone 155.100.198.in-addr.arpa/IN: not loaded due to errors.
_default/155.100.198.in-addr.arpa/IN: bad zone
使用 Plesk 控制面板在 Centos 6 上运行。以下文件位于 Director 中:/var/named/ 除了 named.conf,它位于:/var/named/chroot/etc/
在我的named.conf文件中,我对区域的调用是:
zone "benmorgancreations.com" IN {
type master;
file "benmorgancreations.com.zone";
allow-update { none; };
};
zone "155.100.198.in-addr.arpa" {
type master;
file "benmorgancreations.com.rr.zone";
};
在文件中:benmorgancreations.com.zone:
$ORIGIN benmorgancreations.com.
$TTL 86400
@ IN SOA dns1.benmorgancreations.com. webmaster.benmorgancreations.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
IN NS ns1.benmorgancreations.com.
IN NS ns2.benmorgancreations.com.
IN MX 10 mail.benmorgancreations.com.
ns1 IN A 198.100.155.226
ns2 IN A 198.100.155.226
ftp IN A 198.100.155.226
mail IN A 198.100.155.226
mail2 IN A 198.100.155.226
在我的 benmorgancreations.com.rr.zone
$ORIGIN 155.100.198.in-addr.arpa.
$TTL 86400
@ IN SOA dns1.benmorgancreations.com. webmaster.benmorgancreations.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
IN NS ns1.benmorgancreations.com.
IN NS ns2.benmorgancreations.com.
226 IN PTR server1.benmorgancreations.com.
226 IN PTR server2.benmorgancreations.com.
226 IN PTR ftp.benmorgancreations.com.
226 IN PTR ftp.benmorgancreations.com.
在我的 155.100.198.in-addr-arpa 文件中:
$TTL 86400
@ IN SOA benmorgancreations.com. webmaster.benmorgancreations.com.
(
1441588071 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
10800 ; Minimum
)
IN NS ns1.benmorgancreations.com.
IN NS ns2.benmorgancreations.com.
答案1
根据配置摘录,尚不清楚文件 155.100.198.in-addr.arpa
(155.100.198.in-addr-arpa
?) 根本就没用。
这区 155.100.198.in-addr.arpa
然而,已经设置为使用文件 benmorgancreations.com.rr.zone
(不太直观的名称)并且区域数据似乎存在问题。
NS
正如错误消息所暗示的,您的区域顶点 没有记录155.100.198.in-addr.arpa
。
这里的问题似乎是该区域和您的工作示例之间的空白差异。
具体来说:
IN NS ns1.benmorgancreations.com.
和
IN NS ns1.benmorgancreations.com.
经过解析后将具有完全不同的含义。
第一个例子:
所有者名称(必填字段):[空白](从上一条记录继承所有者名称,155.100.198.in-addr.arpa.
)
TTL(可选字段):[未指定](86400
基于$TTL
)
类别(可选字段):IN
类型(必填字段):NS
数据(必填字段):ns1.benmorgancreations.com.
155.100.198.in-addr.arpa. 86400 IN NS ns1.benmorgancreations.com.
第二个例子:
所有者名称(必填字段):IN
TTL(可选字段):[未指定](86400
基于$TTL
)
类别(可选字段):[未指定](默认类别值IN
)
类型(必填字段):NS
数据(必填字段):ns1.benmorgancreations.com.
IN.155.100.198.in-addr.arpa. 86400 IN NS ns1.benmorgancreations.com.
最后,错误消息的意思是,没有NS
记录155.100.198.in-addr.arpa
。
然后,让我们把问题最有趣的部分抛在脑后。IP网络真的全都属于你
吗198.100.155.0/24
?也就是说,它155.100.198.in-addr.arpa
真的会委托给你,以便人们可以向你的名称服务器查询这个区域吗?
答案2
正如所指出的,问题出在您的区域文件中:
$ORIGIN 155.100.198.in-addr.arpa.
$TTL 86400
@ IN SOA dns1.benmorgancreations.com. webmaster.benmorgancreations.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
IN NS ns1.benmorgancreations.com.
IN NS ns2.benmorgancreations.com.
在 DNS 简写中,以空格开头的行是上一条记录的延续。记录
中缺少该空格,IN NS
这就是为什么它们没有注册为 NS 记录(而是注册为名为“IN”的主机的错误资源记录)。
只需添加前导空格,或@区域 ORIGIN 的简写。
@ IN NS ns1.benmorgancreations.com.
IN NS ns2.benmorgancreations.com.