BIND / RNDC – 为什么我的子区域工作,我的实际区域没有?

这是我的named.conf:

view "external" { match-clients { any; }; match-destinations { any; }; recursion no; allow-query-cache { none; }; include "/etc/named.root.hints"; zone "domain.com" IN { type master; file "domain.com"; }; }; 

和我的domain.com

 $TTL 86400 @ IN SOA ns1.domain.com. admin.domain.com. ( 2010111501 28800 7200 864000 86400 ) IN NS ns1.domain.com. IN NS ns2.domain.com. @ A 109.228.16.159 $ORIGIN domain.com. @ IN A 109.228.16.159 domain.com. IN A 109.228.16.159 catch IN A 109.228.16.159 mail IN A 109.228.16.159 domain.com. IN MX 10 mail.domain.com. ns1 IN CNAME catch ns2 IN CNAME catch www IN CNAME catch * IN CNAME catch 

www.domain.com工作正常ashfajkshfjkashfjkahskfjhasjkhfajksf.domain.com工作正常domain.com不起作用

有任何想法吗?

将$ ORIGIN移到文件的顶部。 删除@的第二个A定义和domain.com的A定义。 您可能想要用INreplace@定义,如下所示。

 $ ORIGIN domain.com。
 $ TTL 86400
 @ IN SOA ns1.domain.com。  admin.domain.com。  (
                         2010111502
                         28800
                         7200
                         864000
                         86400
                         )
                在NS ns1.domain.com。
                在NS ns2.domain.com。
                在A 109.228.16.159

赶上在109.228.16.159
 mail IN A 109.228.16.159
 ... 

检查您的日志中的重新启动绑定消息。