
從 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
@ 是原點的快捷方式。