[Sysadmins] BIND отдает список корневых серверов
Караваев Павел
pppd на yandex.ru
Пн Фев 17 17:16:14 MSK 2014
Доброго времени, коллеги!
Имеется в работе 2 dns сервера на основе BIND, работающих как мастер и слейв. Они ведут несколько своих зон для двух view: один для внутренних сетей и второй для интернета. Для внутренних сетей разрешены рекурсивные запросы, для интернета - нет.
Если запросить "dig / @10.0.0.8" из внутренней сети, получаю ответ:
[root на comp ~]# dig / @10.0.0.8
; <<>> DiG 9.3.6-P1 <<>> / @10.0.0.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 35542
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;/. IN A
;; AUTHORITY SECTION:
. 9527 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2014021700 1800 900 604800 86400
;; Query time: 0 msec
;; SERVER: 10.0.0.8#53(10.0.0.8)
;; WHEN: Mon Feb 17 16:54:16 2014
;; MSG SIZE rcvd: 94
[root на comp ~]#
А если запросить тот же / снаружи, ответ:
[root на alpha ~]# dig / @my.dns.ip.addr
; <<>> DiG 9.3.6-P1 <<>> / @my.dns.ip.addr
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10220
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13
;; QUESTION SECTION:
;/. IN A
;; AUTHORITY SECTION:
. 473444 IN NS i.root-servers.net.
. 473444 IN NS j.root-servers.net.
. 473444 IN NS k.root-servers.net.
. 473444 IN NS l.root-servers.net.
. 473444 IN NS m.root-servers.net.
. 473444 IN NS a.root-servers.net.
. 473444 IN NS b.root-servers.net.
. 473444 IN NS c.root-servers.net.
. 473444 IN NS d.root-servers.net.
. 473444 IN NS e.root-servers.net.
. 473444 IN NS f.root-servers.net.
. 473444 IN NS g.root-servers.net.
. 473444 IN NS h.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 559844 IN A 198.41.0.4
a.root-servers.net. 559844 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 559844 IN A 192.228.79.201
c.root-servers.net. 559844 IN A 192.33.4.12
d.root-servers.net. 559844 IN A 199.7.91.13
d.root-servers.net. 559844 IN AAAA 2001:500:2d::d
e.root-servers.net. 559844 IN A 192.203.230.10
f.root-servers.net. 559844 IN A 192.5.5.241
f.root-servers.net. 559844 IN AAAA 2001:500:2f::f
g.root-servers.net. 559844 IN A 192.112.36.4
h.root-servers.net. 559844 IN A 128.63.2.53
h.root-servers.net. 559844 IN AAAA 2001:500:1::803f:235
i.root-servers.net. 559844 IN A 192.36.148.17
;; Query time: 51 msec
;; SERVER: my.dns.ip.addr#53(my.dns.ip.addr)
;; WHEN: Mon Feb 17 16:31:26 2014
;; MSG SIZE rcvd: 486
[root на alpha ~]#
т.е. bind отдает целый список корневых серверов. Вроде бы ничего страшного в этом нет, но все-таки интересно...
Конфигурация bind:
include "/etc/rndc.conf";
acl myhosts { localhost; 10.0.0.0/8; ...; };
options {
dump-file "/var/run/named_dump.db";
statistics-file "/var/run/named.stats";
recursing-file "/var/run/recursing";
directory "/zone";
notify yes;
allow-recursion {myhosts;};
};
acl "internal" { 127.0.0.1; 10.0.0.0/8; ...; };
acl "external" { !internal; any; };
view "internal" {
match-clients { !key extkey; "internal";};
recursion yes;
zone "my-zone.ru"{
type master;
file "my-zone.ru";
allow-transfer {10.0.0.3;};
};
};
view "external" {
match-clients {key extkey; "external";};
server slave.x.y.z { keys extkey;};
zone "my-zone.ru"{
type master;
file "my-zone.ru.inet";
allow-transfer {slave.x.y.z;};
};
};
Остальные части конфига, если нужно, тоже покажу.
Подробная информация о списке рассылки Sysadmins