К сожалению, я ограничен очень старой версией 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
Итак, кто-нибудь может понять, почему при наличии корневой зоны с подменой он отвечает на запросы, когда есть главная зона, но не пересылает, когда есть перенаправленная зона?
Заранее спасибо !