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

Интервал передачи зоны DNS

Я никогда раньше не вносил изменений в записи DNS. При исследовании унаследованных мной DNS-серверов (Solaris 5.6 с BIND v9.2.3) я обнаружил, что DNS_A (частный) является основным DNS-сервером и реплицируется на DNS_B и DNC_C (оба общедоступные) с помощью параметра файла db зоны:

allow-transfer { 192.in.ter.nal; 173.ex.ter.nal; };

Заголовок из файла зоны:

@ IN SOA DNS_A.redacted.com. postmaster.redacted.com. (
    2013010401  ; serial
    300 ; refresh
    120 ; retry
    6048000 ; expire
    300 )   ; ttl

Я понимаю, что мне нужно увеличить серийный номер, когда я вношу изменение, чтобы вторичные DNS-серверы распознали изменение, но не будут ли мои вторичные DNS-серверы искать изменения до тех пор, пока не истечет срок действия? Если это указано в секундах, это 70 дней.

Что делают refresh, retry, expire, и ttl раз значит?

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

Вот значение этих предметов:

  • ttl: время жизни по умолчанию для кэшированных записей, определяет, как долго эти записи должны считаться свежими;
  • обновить: время, используемое ведомым устройством для проверки обновлений на ведущем устройстве;
  • retry: время между повторными попытками, когда ведомое устройство не может связаться с мастером после времени обновления;
  • expiry: указывает, что зона больше не действительна по истечении этого времени, используется только подчиненными серверами.

Еще: http://www.zytrax.com/books/dns/ch8/soa.html

По умолчанию при изменении последовательного порта DNS мастер BIND уведомляет все серверы имен, определенные в записях NS для зоны. Оттуда подчиненные свяжутся с мастером, чтобы инициировать передачу зоны.