Назад | Перейти на главную страницу

BIND - ошибки SERVFAIL при использовании представлений

Запуск bind 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), пытается запросить хост во внутренней зоне в файле db internal.com. Вот мой файл БД.

$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

Поэтому, когда я запрашиваю server1.testlab.net из 192.168.100.202, я получаю servfail. Я включил отладку, и вот результат регистрации.

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

Если я запрашиваю DNS-сервер с другого IP-адреса хоста, который попадает в список «любой», я могу получить результат, но только для зон, перечисленных во «внешнем» представлении, так что все работает должным образом. Может ли кто-нибудь помочь мне выяснить, почему мое внутреннее представление не работает?

Изменил это:

view "insideview" {
match-clients { 192.168.100.202; };

zone "internal" IN {

к этому:

view "insideview" {
  match-clients { 192.168.100.102; };

  zone"testlab.net" IN {

Теперь работает как положено.