BIND – 使用视图时SERVFAIL错误

在查询驻留在我的某个视图中的主机时运行绑定9.8.2并获取servfail错误。 这里是我的conf文件的一个片段。

view "insideview" { match-clients { 192.168.100.202; }; zone "internal" IN { type master; file "/var/named/db.internal.com"; notify yes; allow-update { none; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; }; view "external" { match-clients { any; }; extzone1 extzone2 extzone3 extzone4 etc, etc... }; 

只有在匹配列表(192.168.100.102)中的客户端尝试查询internal.com db文件内部区域中的主机时才会发生故障。 这是我的数据库文件。

 $TTL 86400 @ IN SOA dns.testlab.net. root.testlab.net. ( 2015012877 28800 ; refresh 8 hours 7200 ; retry 2 hours 864000 ; expire 10 days 86400 ; min ttl 1 day ) IN NS dns.testlab.net. server1 IN A 192.168.155.206 

所以当我从192.168.100.202查询server1.testlab.net时,我得到了servfail。 我打开了debugging,这里是从日志输出。

 12-Aug-2016 10:57:59.764 query-errors: debug 1: client 192.168.100.202#41591: view insideview: query failed (SERVFAIL) for server1.testlab.net/IN/A at query.c:6569 12-Aug-2016 10:57:59.764 query-errors: debug 2: fetch completed at resolver.c:3076 for server1.testlab.net/A in 0.000047: failure/success [domain:testlab.net,referral:0,restart:1,qrysent:0,timeout:0,lame:0,nete rr:0,badresp:0,adberr:2,findfail:0,valfail:0] 

以下是服务重新加载之后/ var / log / messages的样子:

  received control channel command 'reload' loading configuration from '/etc/named.conf' reading built-in trusted keys from file '/etc/named.iscdlv.key' using default UDP/IPv4 port range: [1024, 65535] using default UDP/IPv6 port range: [1024, 65535] no IPv6 interfaces found sizing zone task pool based on 18 zones Warning: view insideview: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones Warning: view extview: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones reloading configuration succeeded reloading zones succeeded zone internal/IN/insideview: loaded serial 2015012877 zone testlab.net/IN/extview: zone serial (2015091713) unchanged. zone may fail to transfer to slaves. zone testlab.net/IN/extview: loaded serial 2015091713 received control channel command 'stats' dumpstats complete 

如果我从另一个主机IP查询“any”列表中的DNS服务器,我可以得到一个返回的结果,但仅限于“外部”视图中列出的区域,以便按预期工作。 任何人都可以帮我弄清楚为什么我的内部视图不工作?

改变了这个:

 view "insideview" { match-clients { 192.168.100.202; }; zone "internal" IN { 

对此:

 view "insideview" { match-clients { 192.168.100.102; }; zone"testlab.net" IN { 

现在按预期工作。