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

Беды с именованными / привязанными и переадресованными зонами

К сожалению, я ограничен очень старой версией bind (9.4.2)

Это мысль. Если я настраиваю привязку с помощью named.conf и только перенаправляю, он работает отлично.

acl  clients    {
    any  ;
};

options {
    listen-on { 10.245.46.11; };
    forward only ;
    forwarders { 8.8.8.8 ; } ; 
    allow-query { clients ; };
    max-cache-size 2097152 ; 
    empty-zones-enable no;
    querylog yes;
    directory "/usr/local/named/etc/zones";
    dump-file "/usr/local/named/cache_dump.db";
    statistics-file "/usr/local/named/named_stats.txt";
    version "not currently available";
    pid-file "/usr/local/named/var/run/named.pid";
};

Как только я добавляю поддельную корневую зону, она работает как задумано.

zone "." IN {
        type master;
        file "all.zone";
    notify no;
};

Где all.zone содержит только один адрес A с перенаправлением на него с подстановочными знаками, поэтому на все запросы DNS будет отвечать этот единственный адрес.

Проблема, с которой я столкнулся, заключается в том, что я не хочу разрешать пересылку определенных доменов в общедоступный DNS. Пример ниже

zone "cnn.com" {
        type forward;
        forwarders { 8.8.8.8; 8.8.4.4; };
};

/** Spoofed **/
zone "." IN {
        type master;
        file "all.zone";
        notify no;
};

На каждый запрос к * .cnn.com ничего не отвечает (вместо поддельного адреса)

nslookup www.cnn.com 10.245.46.11
Server:         10.245.46.11
Address:        10.245.46.11#53

*** Can't find www.cnn.com: No answer

# dig  @10.245.46.11 www.www.cnn.com

; <<>> DiG 9.2.4 <<>> @10.245.46.11 www.cnn.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20722
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;www.cnn.com.                   IN      A

;; AUTHORITY SECTION:
.                       3600    IN      SOA     ns.example.com. 357 86400 3600 86400 3600

;; Query time: 1 msec
;; SERVER: 10.245.46.11#53(10.245.46.11)
;; WHEN: Fri Feb  7 10:44:56 2014
;; MSG SIZE  rcvd: 86

Однако, если я добавлю к нему главную зону (вместе с зоной пересылки и поддельным корнем), она будет нормально запрашивать запросы.

zone "test.com" IN {
    type master;
    file "test.com.zone";
};

nslookup ns.test.com 10.245.46.11
Server:         10.245.46.11
Address:        10.245.46.11#53

Name:   ns.test.com
Address: 190.208.65.193

Итак, кто-нибудь может понять, почему при наличии корневой зоны с подменой он отвечает на запросы, когда есть главная зона, но не пересылает, когда есть перенаправленная зона?

Заранее спасибо !