BIND - エラーのためゾーンが読み込まれませんでした

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.

/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

答え1

ゾーン ファイル内のすべての 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

@ は origin のみのショートカットです。

関連情報