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

передача зоны DNS на slave-устройство Solaris

Я запускаю 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) и обновить зону.

Это также вызовет автоматическую отправку уведомлений, поскольку они отправляются на все остальные перечисленные серверы имен.

В ответ на уведомление ведомое устройство вытянет зону.

Просто к вашему сведению, «рекурсия да» - нет. Просто ... нет. Этому нет места на авторитетном сервере имен; вместо этого настройте выделенный кеш преобразователя.