Я пытаюсь упростить добавление записей DNS в установку NSD. Похоже, он использует тот же синтаксис, что и BIND, поэтому этот вопрос может иметь отношение к любому из них.
Похоже, что соглашение, которое я вижу в текущем файле зоны, состоит в том, чтобы разделить записи SOA, MX, NS, A, CNAME, TXT на их собственные строфы в файле конфигурации зоны, в нашем случае с точкой с запятой, отделяющей одну строфу от следующий.
Я считаю, что это сделано для эстетики, и единственное реальное требование - чтобы SOA была первой записью, порядок после нее не имеет значения.
Мне интересно, может ли кто-нибудь еще подтвердить это предположение
IIRC RFC 1033 один из старых RFC DNS ( DNS Википедия страница имеет хороший список), говорится, что запись SOA обозначает начало новой зоны, но этот порядок записей в зоне не нужно сохранять.
Так что это в основном эстетика и условность. Хотя инструменты могут зависеть от этих условностей.
Порядок записей ресурсов (после обязательных записей) никогда не имел функционального значения ни в одном из DNS: es, с которыми я сталкивался. Когда есть зависимость, такая как запись cname, связанная с записью a, это решается путем разделения разрешения на два запроса: один получает cname, а другой - запись.
Поскольку bind и nsd загружают все файлы зоны в память при запуске, порядок также не имеет значения для производительности разрешения.
Однако размер файла зоны является фактором как для времени полной загрузки, так и для времени ответа на запрос: https://www.icann.org/en/about/staff/security/ssr/root-zone-augementation-analysis-17sep09-en.pdf