SOA-запись домена: что это и почему от неё зависит вся DNS-зона
SOA-запись (Start of Authority) — это служебная запись, которая есть у каждого домена и хранит основную информацию о DNS-зоне: кто главный сервер, как часто обновлять данные и что делать, если основной сервер перестал отвечать. Без неё домен технически не может существовать — это первая запись в любой зоне, и именно на неё ориентируются все остальные DNS-серверы в мире.
Что такое SOA-запись и почему она обязательна?
Когда регистратор или хостинг создаёт для домена DNS-зону, первой строкой в ней всегда идёт SOA. Она объясняет всем DNS-серверам в интернете: «эта зона принадлежит такому-то домену, за неё отвечает такой-то первичный сервер, а администратор — вот этот адрес». Без SOA-записи DNS-зона считается недействительной, поэтому её создают автоматически при регистрации домена или подключении к хостингу — обычному пользователю вручную её прописывать почти никогда не нужно.
Формат SOA-записи описан в документе RFC 1035 — одном из основополагающих стандартов DNS, принятом ещё в 1980-х годах, когда систему доменных имён придумал американский учёный Пол Мокапетрис. Интересно, что сама архитектура DNS с тех пор почти не менялась — SOA-запись работает по тем же правилам, что и сорок лет назад.
Из каких полей состоит SOA-запись?
Внутри SOA-записи зашито сразу несколько параметров, и каждый выполняет свою задачу:
- Primary name server — адрес основного (первичного) DNS-сервера домена;
- Admin email — контактный адрес администратора зоны, только вместо символа @ в нём ставится точка;
- Serial number — порядковый номер версии зоны, который увеличивается при каждом изменении;
- Refresh — как часто вторичные DNS-серверы должны проверять обновления у основного;
- Retry — с какой периодичностью повторять попытку, если основной сервер не ответил;
- Expire — сколько времени вторичный сервер может продолжать отдавать старые данные, если основной недоступен;
- Minimum TTL — как долго кэшировать информацию об отсутствии записи (например, если домен вовсе не существует).
Все эти цифры измеряются в секундах и настраиваются автоматически панелью управления DNS. Менять их руками приходится редко, но понимать их смысл полезно — особенно если домен ведёт себя странно после переезда на новый хостинг.
Что такое serial number и почему его нужно обновлять?
Serial number — это своего рода «номер версии» DNS-зоны. Каждый раз, когда в зону добавляется или меняется хотя бы одна запись — A, MX, CNAME, TXT, всё равно какая — серийный номер должен увеличиться. По нему вторичные (резервные) DNS-серверы понимают, что данные обновились и их нужно скопировать заново.
Если серийный номер не увеличить, вторичные серверы решат, что зона не менялась, и продолжат раздавать старую версию, хотя вы уже поменяли, например, MX-запись для почты. На практике это редко превращается в проблему, потому что большинство панелей управления делают это автоматически при любом изменении. Но если DNS-зона редактируется вручную через текстовый файл — а такое бывает при переносе домена между провайдерами или при работе с собственным DNS-сервером — про serial number легко забыть, и тогда изменения просто не разойдутся по сети.
Зачем нужны refresh, retry и expire?
Эти три параметра регулируют, как вторичные DNS-серверы синхронизируются с основным. Refresh — это интервал, с которым вторичный сервер сам, без напоминаний, идёт проверять, не изменилась ли зона. Retry — это пауза перед повторной попыткой, если в момент проверки основной сервер оказался недоступен (перегружен, в обслуживании, упал). А expire — это крайний срок: если основной сервер молчит дольше этого времени, вторичный считает данные устаревшими и вовсе перестаёт отдавать зону, чтобы не вводить пользователей в заблуждение неактуальными записями.
По сути, это встроенный механизм отказоустойчивости DNS: система заранее продумана так, чтобы временная недоступность одного сервера не рушила работу домена мгновенно, но и не позволяла устаревшим данным висеть вечно.
Клауд АйСи — цифровые сервисы для бизнеса в одном кабинете: сайт с доменом и хостингом, Умный онлайн-чат, проверка контрагентов и 1С в облаке.
Запустите присутствие в интернете без лишних хлопот.
Есть бесплатные тарифы навсегда.
Что означает Minimum TTL в SOA?
Последнее поле SOA-записи — minimum TTL, иногда называемое negative caching TTL. Оно определяет, как долго резолверы (программы, которые ищут ответы на DNS-запросы) должны запоминать отрицательный ответ — то есть информацию о том, что запрошенной записи не существует. Например, если кто-то опечатался в адресе почтового поддомена и запросил запись, которой нет, DNS-серверы запомнят этот «отказ» на срок из minimum TTL и не будут повторно ходить к серверу за тем же самым ответом.
Это небольшая, но важная деталь: она снижает нагрузку на DNS-инфраструктуру и ускоряет обработку ошибочных или несуществующих запросов по всему домену.
Когда обычно приходится трогать SOA вручную?
В большинстве случаев пользователь вообще не видит SOA-запись — панель хостинга или регистратора управляет ей автоматически при любых изменениях DNS. Но есть ситуации, где про неё стоит вспомнить:
- перенос домена на собственный DNS-сервер или между разными DNS-провайдерами, когда зона переносится файлом;
- настройка вторичных (slave) DNS-серверов для повышения отказоустойчивости — им важно точно понимать, кто первичный сервер и с какой периодичностью проверять обновления;
- диагностика ситуации, когда изменения в зоне почему-то не расходятся по всем DNS-серверам одновременно — часто причина именно в незамеченном serial number.
Если домен и почта настраиваются через готовый сервис, всю эту рутину берёт на себя платформа: например, в «Клауд АйСи» при подключении домена к хостингу или почте DNS-зона и её SOA-запись обновляются автоматически, без ручного редактирования файлов и риска забыть увеличить серийный номер.
Как проверить SOA-запись своего домена?
Проверить SOA можно любым онлайн-инструментом для просмотра DNS-записей или через командную строку — запрос типа dig SOA имя-домена (в Linux и macOS) или nslookup с указанием типа записи в Windows покажет всю структуру: основной сервер, email администратора, серийный номер и временные интервалы. Это полезно, если нужно убедиться, что после переноса домена или смены хостинга зона действительно обновилась и содержит актуальные данные.
Обычно достаточно просто убедиться, что домен отвечает и серийный номер выглядит «свежим» — то есть похож на дату последнего изменения. Если он застыл на месте, а вы точно вносили правки в зону, это повод обратиться в поддержку DNS-провайдера: скорее всего, изменения были сделаны в обход панели управления и серийный номер не обновился автоматически.
Стоит ли переживать из-за SOA обычному владельцу сайта?
Нет, для большинства владельцев сайтов и почтовых ящиков SOA-запись — это полностью автоматический механизм, о котором не нужно думать в повседневной работе. Она становится важной только в редких технических случаях: при переносе домена между DNS-провайдерами, настройке собственных серверов имён или глубокой диагностике проблем с синхронизацией зоны. В остальное время достаточно знать, что эта запись существует, потому что именно она держит на себе всю структуру DNS-зоны — без неё не работали бы ни A-записи для сайта, ни MX-записи для почты.
Сайт, домен и сервисы — в Клауд АйСи
Зарегистрируйтесь и соберите сайт с подключённым доменом и хостингом за считанные минуты.
Частые вопросы
Можно ли удалить SOA-запись домена?
Нет, SOA-запись обязательна для существования DNS-зоны — без неё зона считается недействительной, и все остальные записи домена перестанут распознаваться DNS-серверами.
Что будет, если забыть увеличить serial number после изменения зоны?
Вторичные DNS-серверы решат, что зона не менялась, и продолжат отдавать старую версию записей, а изменения не разойдутся по сети до следующего обновления серийного номера.
Нужно ли редактировать SOA-запись при обычной настройке сайта и почты?
Практически никогда — панели управления хостингом и почтой обновляют SOA автоматически при любых изменениях DNS-зоны.
Где посмотреть SOA-запись своего домена?
Через любой онлайн-сервис проверки DNS-записей или командой dig SOA / nslookup с указанием типа записи в терминале.