Практикум по RFC 5936
AXFR: передать зону и принять целую копию
Разберите границы полной передачи DNS-зоны, состав при делегировании, совместную работу по TCP и атомарное включение копии. Ситуации решаются по уроку и приведённым данным; настройки конкретного сервера проверяются отдельно.
Что вы сможете сделать
- Проверять запрос, границы SOA, группировку и завершение ответа AXFR.
- Определять состав передаваемой зоны при делегировании и закрытых именах.
- Учитывать соседние обмены, Message ID и последствия закрытия TCP-соединения.
- Разделять полноту копии, её атомарное включение и право клиента на передачу.
Запрос и размер одного сообщения
Практикум опирается на полный RFC 5936 от июня 2010 года. Клиент здесь запрашивает копию зоны, сервер отвечает. Современные расширения, алгоритмы защиты и настройки конкретного продукта этим чтением не подтверждаются.
Запрос AXFR содержит один вопрос: имя запрашиваемой зоны, тип AXFR с кодом 252 и класс зоны. Секции Answer и Authority в запросе должны быть пустыми.
Проверить тезис: AXFR: сообщения и границы полной передачи 01
Двухоктетное поле длины DNS по TCP ограничивает одно DNS-сообщение 65 535 октетами. EDNS(0) не увеличивает этот предел; он не является пределом размера всей зоны AXFR, передаваемой несколькими сообщениями.
Проверить тезис: AXFR: сообщения и границы полной передачи 07
SOA и ошибка после части данных
Завершение отдельного сообщения и завершение всей передачи — разные события. Для успешной границы сравнивается вся ресурсная запись SOA, а для ошибки действует отдельное правило.
Успешная передача содержимого зоны начинается её SOA и заканчивается той же SOA. Промежуточные сообщения не должны содержать SOA; весь ответ может состоять и из одного сообщения.
Проверить тезис: AXFR: сообщения и границы полной передачи 02
Сервер AXFR сообщает об обнаруженной ошибке одним DNS-сообщением с соответствующим кодом ответа и завершает эту передачу. Ошибка может прийти после части данных; завершающая SOA в сообщении об ошибке не требуется.
Проверить тезис: AXFR: сообщения и границы полной передачи 06
Группировка, повторы и Question
Приёмник восстанавливает набор зоны из потока сообщений. Удобная сортировка дампа не становится требованием к отправителю, а повтор записи не должен создавать вторую запись содержимого.
Кроме начальной и конечной SOA, записи AXFR разрешено передавать в любом порядке и группировать по сообщениям произвольно. Клиент должен принимать такой порядок, даже если записи одного RRset оказались в разных сообщениях.
Проверить тезис: AXFR: сообщения и границы полной передачи 03
Каждую запись содержимого зоны рекомендуется передавать один раз. Если клиент AXFR получил повтор такой записи, он должен его игнорировать.
Проверить тезис: AXFR: сообщения и границы полной передачи 04
В первом сообщении ответа AXFR и в сообщении об ошибке секция Question должна повторять вопрос запроса. В остальных сообщениях она может повторяться или оставаться пустой.
Проверить тезис: AXFR: сообщения и границы полной передачи 05
Набор зоны и возможность перечисления
Цель передачи — обслуживаемое содержимое конкретной версии. Способ хранения и возможность перечислить записи проверяются отдельно: база данных сама по себе не препятствие.
Цель AXFR — восстановить содержимое зоны для заданного SERIAL так, как оно доступно при обслуживании DNS-запросов. Внутреннее представление в файле зоны или базе данных отправителя воспроизводить не требуется.
Проверить тезис: AXFR: состав зоны, делегирование и скрытые записи 01
Ответ AXFR должен включать записи зоны для заданного SERIAL. Зона, весь состав которой для одной версии невозможно практически перечислить, непригодна для получения через AXFR.
Проверить тезис: AXFR: состав зоны, делегирование и скрытые записи 02
Родительские NS, glue и сторона DNSSEC
Узел может одновременно обслуживать родительскую и дочернюю зоны. Это не разрешает при передаче одной подменять её записи более привлекательными данными другой.
При передаче родительской зоны AXFR должен включать NS делегирования, зарегистрированные именно в этой зоне. Их нельзя заменить NS вершины дочерней зоны только потому, что отправитель также обслуживает дочернюю зону и видит расхождение.
Проверить тезис: AXFR: состав зоны, делегирование и скрытые записи 03
AXFR должен включать относящиеся к зоне связующие адресные записи glue в том виде, в котором они зарегистрированы для передаваемой версии. Несовпадение с авторитетным адресом сервера не разрешает исправить glue во время передачи.
Проверить тезис: AXFR: состав зоны, делегирование и скрытые записи 04
В описанной RFC 5936 схеме DS делегирования относится к родительской зоне, а DNSKEY на вершине подписанной дочерней зоны — к дочерней. RRSIG и NSEC либо NSEC3 у границы включаются в AXFR той зоны, которой принадлежит соответствующая запись.
Проверить тезис: AXFR: состав зоны, делегирование и скрытые записи 05
Отмена, старый сервер и повторы
Отмена относится к общей транспортной связи. Совместимость с конкретным старым сервером не отменяет требований к исправному серверу; для повторов документ задаёт границы поведения, а не готовые интервалы.
Клиент может отменить получение зоны AXFR только закрытием TCP-соединения. Такое действие отменяет и всю остальную незавершённую работу на этом соединении; отдельной команды отмены одной передачи протокол не задаёт.
Проверить тезис: AXFR: общее TCP-соединение и прерывание передачи 04
При удалённом закрытии TCP-соединения клиент AXFR должен отменить все незавершённые передачи и обычные DNS-обмены на нём. Сервер при удалённом закрытии отменяет свои передачи; повторную попытку инициирует клиент.
Проверить тезис: AXFR: общее TCP-соединение и прерывание передачи 05
Если ответы старого сервера нельзя надёжно различить или он обрывает попытку совместной работы, клиенту не рекомендуется повторно использовать соединение с этим сервером до его обновления. При неуверенности в стабильном Message ID не рекомендуется отправлять другие запросы до конца AXFR.
Проверить тезис: AXFR: общее TCP-соединение и прерывание передачи 06
После обрыва клиенту AXFR рекомендуется оценить, вызван ли он сетью или решением сервера; надёжно различить причины удаётся не всегда. Бесконечные повторы и увеличение их частоты не рекомендуются.
Проверить тезис: AXFR: общее TCP-соединение и прерывание передачи 07
Включение новой копии и отклонённый SERIAL
Приёмник сначала получает и проверяет новую копию. Внешнее поведение должно показывать целостное переключение, даже если внутри используются другие этапы или структуры хранения.
Клиент AXFR должен обслуживать зону только из успешно переданной копии. После завершения передачи и проверок новый набор включается атомарно; внешнее поведение должно соответствовать модели «сначала получить и проверить, затем включить целиком».
Проверить тезис: AXFR: приёмка копии и право на передачу 01
При обнаружении ошибки в полученной копии клиент AXFR должен удалить этот набор данных и продолжить обслуживание прежней версии, если обслуживал её до передачи.
Проверить тезис: AXFR: приёмка копии и право на передачу 02
Клиенту, отклонившему данные AXFR, рекомендуется запомнить SERIAL, но разрешено снова запросить ту же версию зоны. Причина отказа могла быть связана с реализацией одного источника и не повториться у другого.
Проверить тезис: AXFR: приёмка копии и право на передачу 03
Допуск клиента и проверка обмена
Возможность открыть AXFR, исходная политика доступа и защита получаемых данных отвечают на разные вопросы. Названия средств защиты здесь относятся к рекомендациям документа 2010 года.
Реализации DNS рекомендуется предоставлять средства ограничения AXFR определёнными клиентами, включая допуск по IP-адресам и диапазонам. Реализации общего назначения рекомендуется также поддерживать контроль доступа на основе TSIG и/или SIG(0).
Проверить тезис: AXFR: приёмка копии и право на передачу 04
Реализации DNS общего назначения рекомендуется позволять оператору открыть AXFR для всех запросов. При этом политика «открыто всем» не рекомендуется как настройка по умолчанию.
Проверить тезис: AXFR: приёмка копии и право на передачу 05
Для проверки содержимого передачи реализации DNS рекомендуется предоставлять клиентам AXFR средства TSIG и/или SIG(0). Эти же средства могут использоваться для авторизации; проверка содержимого и право запросить зону остаются разными назначениями.
Проверить тезис: AXFR: приёмка копии и право на передачу 06
Если клиент включил в запрос AXFR запись защиты транзакции и сервер поддерживает выбранный метод, сервер должен включать соответствующую запись в ответные сообщения по правилам этого метода.
Проверить тезис: AXFR: приёмка копии и право на передачу 07
Проверьте инженерное мышление
Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.
Источники курса
Полные сведения о первоисточниках приведены один раз для всего курса. Под тезисами — ссылки на соответствующие утверждения Архивариума.
- Первичная спецификация
DNS Zone Transfer Protocol (AXFR)
Internet Engineering Task Force · RFC 5936, June 2010
Полный RFC 5936 (июнь 2010, 29 страниц) прочитан локально 2026-09-09. Сверены сообщения AXFR, состав зоны, общее TCP-соединение, приёмка копии и допуск клиентов. Прежняя дата получения сохранена. Последующие RFC, errata и текущие реализации не проверялись.
Открыть первоисточник