从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
您必须指定区域文件中所有内容的FQDN,或设置$ ORIGIN。 另外,如果您指定FQDN,则必须使用尾点来指定它(这就是为什么它看不到mx002a.example.com的Alogging)。
要解决这个问题:
$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
@是仅仅是起源的捷径。