0

我最近尝试设置 DNS。检查工具告诉我缺少一些 A 记录。但我想我做到了。

区域文件:

$ORIGIN .
$TTL 2D
.       IN      SOA     ns1. root.ns1. (
                        2016052404    ; Serial
                                8H      ; Refresh
                                2H      ; Retry
                                4W      ; Expire
                                3H      ; NX (TTL Negativ Cache)
)
.                               IN      NS      ns1.
ns1.                            IN      A       192.168.107.2
at.                             IN      NS      ns1.at.
ns1.at.                         IN      A       192.168.107.3
jp.                             IN      NS      ns1.jp.
ns1.jp.                         IN      A       192.168.107.5
user@dns1:/etc/bind# sudo named-checkzone . db.zonefile
zone ./IN: at/NS 'ns1.at' (out of zone) has no addresses records (A or AAAA)
zone ./IN: jp/NS 'ns1.jp' (out of zone) has no addresses records (A or AAAA)
zone ./IN: loaded serial 2016052404
OK

/etc/bind/named-conf.local

zone "." {
type master;
file "/etc/bind/db.zonefile";
};

zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.0.168.192";
};

/etc/resolv.conf:

search .
nameserver 127.0.0.1
4

1 回答 1

1

您可能想使用sudo named-checkzone -i local . db.zonefile

命名检查区手册页

选项

...

-i mode

执行加载后区域完整性检查。可能的模式是“full”(默认)、“full-sibling”、“local”、“local-sibling”和“none”。...“完整”模式检查委托 NS 记录是否引用 A 或 AAAA 记录(区域内和区域外主机名)。它还检查该区域中的粘合地址记录是否与孩子所通告的那些相匹配。模式“本地”仅检查引用区域内主机名的 NS 记录或是否存在某些必需的粘合,即当名称服务器位于子区域中时。...

如果没有选项,还将检查-i local上游 DNS 服务器(在 中定义),因此例如使用 8.8.8.8 我得到以下结果(这是预期的):/etc/resolv.conf

[root@localhost ~]# named-checkzone . foo.db
zone ./IN: at/NS 'ns1.at' extra GLUE A record (192.168.107.3)
zone ./IN: at/NS 'ns1.at' missing GLUE A record (176.28.37.75)
zone ./IN: at/NS 'ns1.at' missing GLUE AAAA record (2a01:488:42:1000:b01c:254b:fffe:f92a)
zone ./IN: getaddrinfo(ns1.jp) failed: Temporary failure in name resolution
zone ./IN: loaded serial 2016052404
OK
[root@localhost ~]#
于 2016-05-24T21:48:39.823 回答