BIND 和 SERVFAIL

use*_*250 3 domain-name-system bind cname-record mx-record

我知道这有点超出本网站的范围,但我正在尝试设置一个测试 DNS 服务器,它绝对拒绝解析本地域。我已经尝试按照各种论坛中的几个教程和帖子的建议进行操作,但没有成功。

每当我尝试使用 dig 或 nslookup 时,服务器都会以通用的 SERVFAIL 进行响应。有趣的是,反向查找工作得很好。

我确信这是一个简单的问题,但我无法找到它。任何帮助将不胜感激。

IP: 192.168.93.25

主机名: ns2.tenebris.cs

以下是有问题的文件:

/etc/resolv.conf

nameserver 127.0.0.1
search ns2.tenebris.cs
Run Code Online (Sandbox Code Playgroud)

/etc/bind/named.conf.local

zone "tenebris.cs"{
    type master;
    file "/etc/bind/zones/tenebris.cs.db";
};
zone "93.168.192.in-addr.arpa"{
        type master;
        file "/etc/bind/zones/rev.93.168.192.in-addr.arpa";
};
Run Code Online (Sandbox Code Playgroud)

/etc/bind/zones/tenebris.cs.db

$TTL 86400      ; 1 day


tenebris.cs.  IN  SOA ns2.tenebris.cs. hostmaster.example.com. (
2008080901 ; serial
8H ; refresh
4H ; retry
4W ; expire
1D ; minimum
)

       IN    NS  ns2.tenebris.cs.
       IN    MX  hermes.tenebris.cs.
       IN    A   192.168.93.25

localhost IN A 127.0.0.1
ns2     IN A    192.168.93.25
www     IN A  192.168.93.250
zeus    IN A  192.168.93.253
hermes  IN A    192.168.93.250

www     IN CNAME tenebris.cs.
Run Code Online (Sandbox Code Playgroud)

dmo*_*ati 5

您使用命名检查区。

$ named-checkzone tenebris.cs cs.db 
dns_rdata_fromtext: cs.db:13: near 'hermes.tenebris.cs.': not a valid number
dns_master_load: cs.db:22: www.tenebris.cs: CNAME and other data
zone tenebris.cs/IN: loading from master file cs.db failed: not a valid number
zone tenebris.cs/IN: not loaded due to errors.
Run Code Online (Sandbox Code Playgroud)

第一个错误告诉您指向 hermes.tenebris.cs 的 MX 记录有问题。MX 记录采用以下格式:

name           ttl  class   rr  pref name
Run Code Online (Sandbox Code Playgroud)

你缺少首选项。由于您只有一个,您可以将其设置为 0 到 65535 之间的任何有效数字。我尝试了 10。

下一个错误是您的 CNAME。 CNAME 不能与另一个记录共存。您有一个 www 指向 A 记录和 CNAME 的副本。

删除 A 记录,现在您的区域应该可以工作了!