我有一个设置使用旧的绑定,这是不再工作,一旦我开始使用Bind9.9 … named.conf仍然是相同的,recursion活跃,我使用的区域没有转发器。 不过,我得到的错误是,没有胶水logging的NS,虽然它在那里…这是新的绑定不会允许的东西; 即在子域本身有NS?
在旧的绑定中,我使用了红帽,现在使用CentOS7。
这是区域文件:
$TTL 86400 rd2t9g9.redes.intranet. IN SOA pc9-1-v1-9 root ( 42 ; serial 3H ; refresh 15M ; retry 1W ; expire 1D ) ; minimum IN NS pc9-1-v1-9 pc9-1-v1-9 IN A 192.168.99.11 pc9-1-v2-9 IN A 192.168.99.12 area1 IN NS pc9-2-v2-9.area1 area1 IN NS duplicate duplicate IN A 192.168.99.23 pc9-2-v2-9.area1 IN A 192.168.99.22
运行checkzone时,我收到消息
zone rd2t9g9.redes.intranet/IN: area1.rd2t9g9.redes.intranet/NS 'pc9-2-v2-9.area1.rd2t9g9.redes.intranet' (out of zone) has no addresses records (A or AAAA) zone rd2t9g9.redes.intranet/IN: loaded serial 42 OK
该文件与运行旧Bind时的文件完全相同; 它会工作,如果NS是在域名(即重复),但不会让我有一个NS在子域(但它曾经!)
有任何想法吗?
还将添加named.conf文件:
options { listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; recursion yes; dnssec-enable no; dnssec-validation no; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "rd2t9g9.redes.intranet" IN { type master; file "zone_A"; allow-update { none; }; forwarders { }; }; zone "99.168.192.in-addr.arpa" IN { type master; file "rev_zone"; allow-update { none; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
就这方面而言,什么都没有改变。 可能named-checkzone有更多的validation,具体取决于你比较的旧版本,或者你运行的环境设置不同。
由于此NSlogging指向的名称不在要validation的区域内,因此named-checkzone正在DNS中查找名称(使用系统configuration的parsing器服务器)。
请问pc9-2-v2-9.area1.rd2t9g9.redes.intranet是否有地址logging,如果你尝试在你运行named-checkzone的同一个主机上查找它?
即, dig pc9-2-v2-9.area1.rd2t9g9.redes.intranet A和/或dig pc9-2-v2-9.area1.rd2t9g9.redes.intranet AAAA产生一个积极的答案?
如果不是,则预期警告消息。
如果你出于某种原因不希望named-checkzone进行这种types的validation(你可能会这样做,如果这些地址logging在权威的末尾丢失是一个真正的问题),那么就有-i选项 ,它可以是用于指定不同的validation模式(例如-i local )。
您正试图在rd2t9g9.redes.intranet中使用area1.rd2t9g9.redes.intranet元素。
这导致named-checkzone抱怨区域外有元素,因为子域area1.rd2t9g9.redes.intranet所在的服务器可能还不存在,而且这样的named-checkzone不能parsing名称。 一旦子域正确configuration,警告将消失。
configuration,因为你有它应该工作 – 但是随着后来的BIND版本被认为是更严格的,我不能担保。 没有警告的一种方法是取出“.area1”并为此configuration此方式。
$TTL 86400 @ IN SOA pc9-1-v1-9 root.localhost. ( 42 ; serial 3H ; refresh 15M ; retry 1W ; expire 1D ) ; minimum IN NS pc9-1-v1-9 pc9-1-v1-9 IN A 192.168.99.11 pc9-1-v2-9 IN A 192.168.99.12 area1 IN NS pc9-2-v2-9 area1 IN NS duplicate duplicate IN A 192.168.99.23 pc9-2-v2-9 IN A 192.168.99.22
我也更喜欢@缩写,而不是再次写下区域,因为它在处理几个区域时会减less错误。
我还将根中的根从根改为root.localhost,因为RFC指定它是一个带“。”的电子邮件。 去“@”。 您可以使用自己的电子邮件,而不是root @ localhost。
请注意,BIND 9.9有几个新的改变,一个可能会在实验室有所不同的是,由于性能原因,新的从属文件现在是原始/二进制格式。 如果需要用于教育目的,BIND 9.9可以configuration为保持文本格式。