TGViewer
Между инцидентами Между инцидентами @davydovpage · 81 subscribers
Post #88 116
Что такое SOA-запись в DNS и для чего она нужна

Обычно, если вам нужно проверить состояние DNS-записи, то это, скорее всего, будет какая-нибудь A, CNAME, TXT или NS запись. Очень редко когда нужно смотреть, что там с SOA, да и в целом большинство людей, которые не погружались в детали работы DNS, вероятно, даже никогда и не слышали об этом типе записей.

SOA-запись — это обязательная запись для вашей зоны, без неё зона не может работать и считается некорректной. А что есть зона? Зона — это домен. Например, купили вы себе домен второго уровня big.bob, вот ваша зона — big.bob. Допустим, инфраструктура сервиса, который стоит за доменом big.bob, разрастается до такой степени, что какая-то часть её становится самостоятельной и хочет сама рулить своими DNS-записями без согласования с главными админами, которые управляют основной зоной big.bob. Допустим, эта часть инфраструктуры живёт под доменом small.big.bob. Чтобы реализовать их требования по независимости, мы делегируем small.big.bob на их DNS-сервера через NS-записи, в которых указываем адреса этих серверов. Далее они на своих DNS-серверах создают зону small.big.bob, которая всегда начинается с SOA-записи. Теперь эти сервера полностью отвественны за зону small.big.bob. В общем, зона — это управляемая часть доменного имени.

Вернёмся к нашим SOA-записям. Понятно, что зона без SOA-записи не существует, но что входит в эту SOA-запись?

Вот так, к примеру, в синтаксисе BIND выглядит SOA-запись:

$TTL 86400
@ IN SOA <master-dns> <admin-email> (
2020080302 ;Serial
7200 ;Refresh
3600 ;Retry
1209600 ;Expire
3600 ;Negative response caching TTL
)


Давайте теперь по порядку, что тут что значит.

FYI
Далее по тексту будут использоваться термины «мастер-днс» и «вторичный сервер». Мастер это авторитетный сервер, который управляет зоной, вносит в неё изменения, отвечает на запросы по записям в зоне. Вторичный же сервер только отвечает на запросы по записям. Грубо говоря это dns-сервер с ReadOnly доступом к зоне. Он регулярно общается с мастером и клонирует актуальную информацию о зоне себе.


🟢master-dns

DNS-имя основного DNS-сервера зоны. В теории на этот сервер должны идти запросы на обновление записей зоны (например, утилитой nsupdate), и только от этого сервера должны лететь уведомления вторичным DNS-серверам о том, что в зоне произошли обновления.

На практике же, если мы говорим, например, о зонах в диком интернете, в master-dns может быть прописан вообще даже не существующий домен. Такие зоны либо обновляются администратором путём прямых изменений на DNS-сервере, либо какой-то внутренней автоматизацией владельца зоны, либо зона, которую мы видим в интернете, это реплика зоны, которая живёт в серой сети администратора, но имеет другую SOA-запись с master-dns, который ведёт на реальный сервер во внутренней сети, и, соответственно, во внутренней сети своего хозяина эта зона нормально обновляется тем же nsupdate, а все изменения попадают на реплику, которая "проецируется" в интернет.

🟢admin-email

По названию в целом понятно, что это такое — мыло администратора зоны. Может быть реальным, может быть выдуманным, зависит от админа. Единственный нюанс — это то, что символ "@" должен быть заменён точкой.

🟢Serial

Серийный номер зоны. Меняется, когда необходимо сказать вторичным серверам: "зона обновилась - стягивайте изменения себе!".

Представляет из себя просто набор цифр, но чаще всего эти цифры выставлены в виде какой-то конкретной даты последнего обновления. К примеру возьмём такой Serial - 2020080302. Тут первые 8 цифр это дата обновления, а последние 2 это дополнительные цифры, которые указывают на количество обновлений зоны в этот день.

Если вашей зоной управляет один сервер и у вас нет вторичных серверов, то изменение серийного номера зоны при каждом её обновлении становится бессмысленным.

🟢Refresh

Время в секундах, говорящее вторичным серверам, как часто нужно ходить к мастер-серверу и стягивать информацию о зоне.

продолжение следует...
  • 👍 7
More from @davydovpage
  1. Mar 10, 2026WSL Manager: тула для управления wsl-инстансами Нашёл полезный инструмент для тех, кто всё…
  2. Mar 8, 2026Селф-хилинг в XFS Новая серия патчей в Linux для XFS добавила возможность мониторинга здор…
  3. Mar 5, 2026Готовится новая фича дополнительных CPU планировщиков в Linux Эта фича касается sched_ext…
  4. Mar 3, 2026«Проблема» протокола NTP и что такое NTS Кто ни разу не слышал про NTP, этот протокол опис…
  5. Mar 2, 2026Из разряда «современные проблемы требуют современных решений» Команда GNOME столкнулась со…
  6. Feb 28, 2026Забавная старая задачка с собеседований Что будешь делать если случайно выполнишь "chmod 4…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →