Тип записи ресурса в системе доменных имен
Начало записи полномочий (сокращенно запись SOA ) — это тип записи ресурса в системе доменных имен (DNS), содержащий административную информацию о зоне, особенно относительно передачи зон . Формат записи SOA указан в RFC 1035. [1]
Фон
Обычно DNS-серверы имен устанавливаются в кластерах. База данных внутри каждого кластера синхронизируется посредством передачи зон. Запись SOA для зоны содержит данные для управления передачей зон. Это серийный номер и различные временные интервалы.
Он также содержит адрес электронной почты ответственного лица для этой зоны, а также имя основного главного сервера имен. Обычно запись SOA располагается в верхней части зоны. Зона без записи SOA не соответствует стандарту, требуемому RFC 1035.
Структура
- ИМЯ
- Имя зоны. @ — сокращение для сопоставления с предыдущей записью в синтаксисе BIND .
- СОРТ
- Класс зоны (все, кроме IN для интернета)
- ТИП
- SOA, аббревиатура для начала полномочий
- ТТЛ
- Время жизни
- МИМЯ
- Основной главный сервер имен для этой зоны
- РНАМЕ
- Адрес электронной почты администратора, ответственного за эту зону. (Как обычно, адрес электронной почты кодируется как имя. Часть адреса электронной почты до @ становится первой меткой имени; доменное имя после @ становится остальной частью имени. В формате файла зоны точки в метках экранируются обратными косыми чертами; таким образом, адрес электронной почты
[email protected]
будет представлен в файле зоны как john\.doe.example.com.
) - СЕРИЙНЫЙ
- Серийный номер для этой зоны. Если вторичный сервер имен, подчиненный этому, заметит увеличение этого номера, подчиненный предположит, что зона была обновлена, и инициирует передачу зоны .
- ОБНОВИТЬ
- Количество секунд, после которых вторичные серверы имен должны запросить у главного сервера запись SOA, чтобы обнаружить изменения зоны. Рекомендация для небольших и стабильных зон: [4] 86 400 секунд (24 часа).
- ПОВТОРИТЬ
- Количество секунд, после которых вторичные серверы имен должны повторить попытку запроса серийного номера у главного сервера, если главный сервер не отвечает. Оно должно быть меньше Refresh . Рекомендация для небольших и стабильных зон: [4] 7200 секунд (2 часа).
- ИСТЕКАЕТ
- Количество секунд, по истечении которых вторичные серверы имен должны прекратить отвечать на запросы для этой зоны, если главный сервер не отвечает. Это значение должно быть больше суммы Refresh и Retry . Рекомендация для небольших и стабильных зон: [4] 3 600 000 секунд (1000 часов).
- МИНИМУМ
- Используется при расчете времени жизни для целей отрицательного кэширования . Авторитетные серверы имен берут меньшее из SOA TTL и SOA MINIMUM для отправки в качестве SOA TTL в отрицательных ответах. Резолверы используют полученный SOA TTL, чтобы понять, как долго им разрешено кэшировать отрицательный ответ. Рекомендация для небольших и стабильных зон: [4] 172 800 секунд (2 дня). Первоначально это поле имело значение минимального значения TTL для записей ресурсов в этой зоне; оно было изменено на свое текущее значение в RFC 2308. [5]
Образец записи SOA
Пример записи SOA для example.org в синтаксисе BIND .
$TTL 86400 @ IN SOA ns.icann.org. noc.dns.icann.org. ( 2020080302 ; Серийный номер 7200 ; Обновить 3600 ; Повторить попытку 1209600 ; Истекает 3600 ; TTL кэширования отрицательного ответа )
Изменения серийного номера
Для обновления поля SERIAL записи SOA зоны установлено несколько методов:
- Серийный номер начинается с 1 и просто увеличивается при каждом изменении.
- Серийный номер содержит дату последнего изменения (в базовом формате ISO 8601 ), за которой следует двухзначный счетчик. Например, пятое изменение, внесенное 14 марта 2017 года (2017-03-14 в ISO 8601 ), будет иметь серийный номер 2017031405. Этот метод рекомендуется в RFC 1912. [6]
- Серийный номер — это время последнего изменения файла данных зоны, выраженное в виде количества секунд с начала эпохи UNIX . Этот метод используется по умолчанию в пакете djbdns . [7] Хотя он использует 32-битный счетчик, он не подвержен проблеме 2038 года из-за эффекта арифметики серийных номеров .
Ссылки
- ^ Mockapetris, PV (ноябрь 1987 г.). "RFC 1035 — Доменные имена — реализация и спецификация". Network Working Group . doi :10.17487/RFC1035 . Получено 28.12.2017 .
- ^ Томсон, С.; Рехтер, Ю.; Баунд, Дж.; Баунд, Дж. (апрель 1997 г.). Викси, П. (ред.). "RFC 2136 — Динамические обновления в системе доменных имен (DNS UPDATE)". Сетевая рабочая группа . doi :10.17487/RFC2136 . Получено 28.12.2017 .
- ^ Vixie, P. (август 1996 г.). "RFC 1996 — Механизм оперативного уведомления об изменениях зоны (DNS NOTIFY)". Сетевая рабочая группа . doi :10.17487/RFC1996 . Получено 28.12.2017 .
- ^ abcd "RIPE 203 — Рекомендации по значениям DNS SOA". Сетевая рабочая группа . 1999-06-07 . Получено 2017-12-28 .
Эти рекомендации нацелены на небольшие и стабильные зоны DNS.
- ^ Эндрюс, М. (март 1998 г.). "RFC 2308 — Отрицательное кэширование DNS-запросов (DNS NCACHE)". Сетевая рабочая группа . doi : 10.17487/RFC2308 . Получено 28.12.2017 .
- ^ Барр, Д. (февраль 1996 г.). "RFC 1912 — Распространенные ошибки в работе и конфигурации DNS". Сетевая рабочая группа . doi :10.17487/RFC1912 . Получено 28.12.2017 .
- ^ Бернстайн, DJ "Как запустить DNS-сервер вместо существующего сервера BIND" . Получено 13.03.2023 .