Курс администрирования DNS · Урок 3/11

Механика зоны

Запись SOA (Start of Authority) хранит операционные метаданные зоны: серийный номер, интервалы refresh/retry/expire и минимальный TTL для отрицательного кэширования. Серийный номер — это то, как вторичные (secondary) серверы узнают, что зона изменилась и её нужно синхронизировать через AXFR (полная передача) или IXFR (инкрементальная передача). Если серийный номер не увеличивается при изменении записей, secondary-серверы решат, что ничего не изменилось, и продолжат отдавать устаревшие данные бесконечно.

«Serial — это просто число, конвенция YYYYMMDDnn нужна только для красоты». На самом деле именно рост серийного номера (в любом формате) заставляет вторичные серверы синхронизироваться. Конвенция даты полезна для читаемости человеком, но единственное строгое требование — монотонное возрастание при каждом изменении.

Лабораторное окружение не обязательно для базовой проверки:

  • marinadns.io/dig — запросите SOA-запись вашего домена и посмотрите текущий serial.
  • NODA (noda.marinadns.io) — Check «SOA Serial Sync» (CAT-INFRA) автоматически проверяет, что serial совпадает на всех ваших NS-серверах, а «SOA Serial Format» — что он соответствует принятому формату.

Для проверки AXFR (передача зоны должна проходить только с авторизованных secondary-серверов и отклоняться со всех остальных) и упражнения по ручному увеличению serial с последующей ресинхронизацией — см. Урок 3 на странице Лабораторное окружение курса — открытая передача зоны требует запроса именно с внешней точки, не из инфраструктуры вашего DNS-провайдера.

# Прочитайте текущий SOA serial + таймеры
dig yourdomain.com SOA +short

# Сравните serial на primary и на каждом secondary — должны совпадать после любого изменения
for ns in $(dig +short yourdomain.com NS); do echo "== $ns =="; dig @$ns yourdomain.com SOA +short; done

# Попытка передачи зоны (должна УДАСТЬСЯ только с авторизованного IP secondary, ПРОВАЛИТЬСЯ с остальных)
dig axfr yourdomain.com @ns1.yourdnsprovider.com

# С вашего лабораторного сервера (должно быть отклонено, если AXFR правильно ограничен):
dig axfr yourdomain.com @ns1.yourdnsprovider.com

Внесите небольшое изменение записи, увеличьте serial по конвенции вашего провайдера (обычно YYYYMMDDnn) и повторяйте сравнение secondary-серверов, пока все не совпадут.

Вы должны уметь объяснить, не подглядывая:

  • Что именно заставляет вторичный сервер обновить свою копию зоны.
  • Почему устаревший (не растущий) serial — это тихая, малозаметная поломка.
  • В чём разница между AXFR и IXFR.

Если можете ответить на всё без подсказок — переходите к Уроку 4.


Попрактикуйтесь с инструментами

← Курс администрирования DNS Лабораторное окружение