Я запускаю bind9 в качестве основного DNS-сервера для частной зоны на debian gnu / linux, и все в порядке. намсервер работает на IP X.X.X.X1
,
$ dig foo.zoneA @dns.zoneA
; <<>> DiG 9.7.3 <<>> foo.zoneA @X.X.X.X1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21295
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2
;; QUESTION SECTION:
;foo.zoneA. IN A
;; ANSWER SECTION:
foo.zoneA. 604800 IN A 192.168.171.Y
;; AUTHORITY SECTION:
zoneA. 604800 IN NS ns2.mycompany.net.
zoneA. 604800 IN NS dns.zoneA.
zoneA. 604800 IN NS dns.mycompany.net.
;; ADDITIONAL SECTION:
dns.mycompany.net. 306 IN A X.X.X.X2
dns.zoneA. 604800 IN A X.X.X.X1
;; Query time: 0 msec
;; SERVER: X.X.X.X1#53(X.X.X.X1)
;; WHEN: Thu Jul 26 17:04:14 2012
;; MSG SIZE rcvd: 142
недавно нам пришлось зеркалировать одну из наших зон на вторичный DNS-сервер с bind9 на Solaris.
на первичном сервере мы разрешили передачу зон на вторичный сервер с помощью чего-то вроде:
acl zoneAdns { X.X.X.X2; };
view "localview" {
match-clients { zoneAdns; ...; };
allow-transfer { zoneAdns; };
zone "zoneA" {
type master;
allow-query { zoneAdns; ...; };
file "/etc/bind/db/db.zoneA";
};
};
я использовал ...
для обозначения других ACL и X.X.X.X2
IP вторичного DNS-сервера.
после этой конфигурации на машине Solaris можно было вручную получить перенос зоны с dig axfr zoneA @X.X.X.X1
(где X.X.X.X1 является IP-адресом основного DNS-сервера).
машина Solaris была настроена (по словам парня, который это сделал, поскольку у меня нет доступа к машине) примерно так:
zone "zoneA" {
type slave;
masters { X.X.X.X1; };
file "/var/cache/bind/db.zoneA";
};
к сожалению, хост-Solaris отказался выступать в качестве вторичного сервера имен:
$ dig foo.zoneA @X.X.X.X2
; <<>> DiG 9.7.3 <<>> foo.zoneA @X.X.X.X2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 33528
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;foo.zoneA. IN A
;; AUTHORITY SECTION:
. 3533 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2012072600 1800 900 604800 86400
;; Query time: 0 msec
;; SERVER: X.X.X.X2#53(X.X.X.X2)
;; WHEN: Thu Jul 26 16:59:21 2012
;; MSG SIZE rcvd: 106
к счастью, был доступен третий сервер имен (на этот раз с запущенным bind9 на linux опять же, с IP X.X.X.X3
). Настроив этот сервер имен точно так же, как solaris bind9 (по словам технического специалиста), мы добились мгновенного успеха (после разрешения передачи зон на первичный сервер для нового IP-адреса):
$ dig foo.zoneA @ X.X.X.X3
; <<>> DiG 9.7.3 <<>> foo.zoneA @X.X.X.X3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9788
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;foo.zoneA. IN A
;; ANSWER SECTION:
foo.zoneA. 604800 IN A 192.168.171.Y
;; AUTHORITY SECTION:
zoneA. 604800 IN NS dns.zoneA.
zoneA. 604800 IN NS ns2.mycompany.net.
zoneA. 604800 IN NS dns.mycompany.net.
;; ADDITIONAL SECTION:
dns.mycompany.net. 600 IN A X.X.X.X2
dns.zoneA. 604800 IN A X.X.X.X1
ns2.mycompany.net. 600 IN A X.X.X.X3
;; Query time: 1 msec
;; SERVER: X.X.X.X3#53(X.X.X.X3)
;; WHEN: Thu Jul 26 17:15:53 2012
;; MSG SIZE rcvd: 158
теперь эти 2 «других» сервера имен (X.X.X.X2 под управлением Solaris и X.X.X.X3 под управлением Linux) действуют как первичная (solaris) / вторичная (linux) пара, поэтому bind9 удается выполнять перенос зоны, по крайней мере, из solaris в linux.
Есть ли какие-либо известные ограничения при попытке выполнить перенос зоны из Linux в Solaris с использованием bind9 с обеих сторон?
к сожалению, хост-Solaris отказался выступать в качестве вторичного сервера имен
К сожалению, это свидетельствует о глубоком непонимании того, как работает DNS.
Как остальной мир узнает, у кого запрашивать данные вашего домена?
-> По серверам имен, настроенным / определенным в вашем файле зоны.
Вам необходимо добавить IP-адрес Solaris в качестве записи сервера имен (NS) и обновить зону.
Это также вызовет автоматическую отправку уведомлений, поскольку они отправляются на все остальные перечисленные серверы имен.
В ответ на уведомление ведомое устройство вытянет зону.
Просто к вашему сведению, «рекурсия да» - нет. Просто ... нет. Этому нет места на авторитетном сервере имен; вместо этого настройте выделенный кеш преобразователя.