BIND - 由于错误而未加载区域

Joh*_*lds 3 bind

从 Ubuntu 8.04 升级到 10.04 后,我的 DNS 不再正常工作。

当我运行 named-checkzone example.com /var/cache/bind/example.com.zone.db 时,我不断收到此错误

zone example.com/IN: NS 'mx002a.example.com' has no address records (A or AAAA)
zone example.com/IN: not loaded due to errors.
Run Code Online (Sandbox Code Playgroud)

在/var/cached/bind/example.com.db

$TTL 3D
@       IN      SOA     mx002a.example.com. chantra.example.com. (
                        200608081       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        4W              ; expire, seconds
                        1D )            ; minimum, seconds
;
;
mx002a.example.com IN A 192.168.85.19
example.com. IN NS mx002a.example.com.
mx001           60 IN A 192.168.85.17
mx001           60 IN A 192.168.85.18
Run Code Online (Sandbox Code Playgroud)

Fal*_*mot 5

您必须指定区域文件中所有内容的 FQDN,或者设置 $ORIGIN。此外,如果您指定 FQDN,则必须使用尾随点指定它(这就是为什么它看不到 mx002a.example.com 的 A 记录的原因)。

要解决这个问题:

$TTL 3D
$ORIGIN example.com.

@       IN      SOA     mx002a.example.com. chantra.example.com. (
                        200608081       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        4W              ; expire, seconds
                        1D )            ; minimum, seconds
;
;
@               IN NS mx002a.example.com.
mx002a          IN A 192.168.85.19
mx001           60 IN A 192.168.85.17
mx001           60 IN A 192.168.85.18
Run Code Online (Sandbox Code Playgroud)

@ 只是原点的快捷方式。