我正在运行 bind 9.8 服务器并想将子域委托给不同的 dns 服务器(也由我管理),但我似乎无法让 bind 接受我的配置,而且我不明白为什么。
下面是我的区域文件。我已将其匿名化并删除了与此主题无关的记录。基本上,我希望 192.168.1.12 处理三个子域 prod.mydomain.com、test.mydomain.com 和 stageing.mydomain.com。
当我运行named-checkzone时,我得到的结果如下:
named-checkzone mydomain.com. /root/mydomain.com
dns_master_load: /root/mydomain.com:22: test.mydomain.com: CNAME and other data
zone mydomain.com/IN: loading from master file /root/mydomain.com failed: CNAME and other data
zone mydomain.com./IN: not loaded due to errors.
区域文件:
$ORIGIN mydomain.com.
$TTL 6h
@ IN SOA ns01.mydomain.com. hostmaster.mydomain.com. (
2015030502 ; serial number
3600 ; refresh
3600 ; retry
604800 ; expire
3600 ) ; minimum TTL
; Zone NS records
@ NS ns01.mydomain.com.
@ NS ns02.mydomain.com.
; Zone records
ns01 A 192.168.1.10
ns02 A 192.168.1.11
; SUBDOMAINS
prod.mydomain.com. NS ns03.prod.mydomain.com.
ns03.prod.mydomain.com. A 192.168.1.12
test.mydomain.com. NS ns03.test.mydomain.com.
ns03.test.mydomain.com. A 192.168.1.12
stageing.mydomain.com. NS ns03.stageing.mydomain.com.
ns03.stageing.mydomain.com. A 192.168.1.12
任何帮助是极大的赞赏!
答案1
通过在委派下定义 NS 记录,您无意中将区域委派和这些区域内的记录合并到同一个区域文件中。请尝试以下简化配置以避免出现这些警告:
$ORIGIN mydomain.com.
$TTL 6h
@ IN SOA ns01.mydomain.com. hostmaster.mydomain.com. (
2015030502 ; serial number
3600 ; refresh
3600 ; retry
604800 ; expire
3600 ) ; minimum TTL
; Zone NS records
NS ns01.mydomain.com.
NS ns02.mydomain.com.
; Zone records
ns01 A 192.168.1.10
ns02 A 192.168.1.11
ns03 A 192.168.1.12
; SUBDOMAINS
prod NS ns03.mydomain.com.
test NS ns03.mydomain.com.
stageing NS ns03.mydomain.com.