Soa запись для домена что это
Что такое SOA-запись и как ее проверить
При развертывании собственного сайта арендатору хостинга приходится сталкиваться с массой специфических терминов, например, с SOA (Start Of Authority), ресурсной записью о сервере, где хранится эталонная информация о домене. Термин впервые появился в спецификации RFC 1035 (1998 г.). В документе описаны стандартные, устаревшие и экспериментальные функции, позволяющие полноценно использовать систему доменов.
Что представляет собой SOA-запись
Серверы доменных имен DNS обычно настраиваются в кластеры. Базы данных в них систематически синхронизируются посредством передачи зон. Запись SOA содержит данные для управления этим процессом – это серийный номер, время кэширования информации и взаимодействия с внешними запросами. Также в ней записана контактная электронная почта и имя главного сервера идентификации доменов.
Критично не только наличие данных, но еще и соблюдение определенного синтаксиса. Например, в блоке временных параметров положено использовать буквы, соответствующие неделям, дням, часам, минутам и секундам (w, d, h, m и s соответственно). Формат самой SOA-записи выглядит так:
Какие параметры хранятся в SOA-записи
Параметры, внесенные в нее, влияют только на работу DNS-серверов, сайты же обрабатываются без их учета. Поэтому многие владельцы веб-ресурсов не задумываются о наличии SOA и назначении этой записи.
Прочитать содержимое легко любым текстовым редактором вроде Блокнота или Notepad++. Подойдут и утилиты, встроенные в файловые менеджеры.
Основные типы информации в SOA:
Перечисленных параметров достаточно, чтобы обеспечить бесперебойную связь DNS-серверов между собой. Остальная информация хранится в других типах записей: NS, A, AAAA, MX, SRV, TXT, SPF, DKIM, CNAME. Подобная классификация упрощает считывание и понимание данных, а также снижает риски сбоев из-за ошибок доступа внешних приложений.
Как проверить данные SOA-записи
Стандартный способ проверки содержимого SOA-записи – это утилита DIG (Domain Information Groper). Она работает в веб-интерфейсе на сайте хостинга, предоставляющего доступ к DNS-серверам, или устанавливается на локальный компьютер. На сайте разработчика представлены дистрибутивы под 64-разрядную Windows и Linux-совместимые системы.
Процедура проверки в веб-версии:
По желанию ставится галочка на пункте «Текстовый ответ». Тогда ниже активной формы появится актуальное содержимое записи. Если требуется узнать, через какие серверы проходят запросы и за какое время это происходит, достаточно отметить пункт «С трассировкой». Ниже отобразиться весь перечень опрашиваемых адресов с ответами серверов.
Чуть иначе работает сервис XSEO. После ввода доменного имени и нажатия на кнопку «Проверить» отобразится название сервера, откуда был получен отклик, текущий серийный номер и другие параметры, о которых шла речь выше.
Настройка
Типы записей и их параметры:
Файл зоны состоит из ресурсных записей разных типов.
Единственный поддерживаемый класс записей — IN.
Набор ресурсных записей с одинаковым типом, классом и именем (в левой части записи) называется множеством записей (RRset).
Обязательными являются записи типа SOA и NS для имени, совпадающего с названием зоны. Все остальные могут отсутствовать.
Записи состоят из различных полей (параметров).
Формат записи временных параметров
В интерфейсе редактора зон возможно указать значение временных параметров в неделях, днях, часах, минутах и секундах, используя соответствующие буквы: w — недели, d — дни, h — часы, m — минуты, s — секунды.
XXw — XX недель, XXd — XX дней, XXh — XX часов, XXm — XX минут, XXs — XX секунд (где XX — число).
В файл зоны временной параметр будет записан в секундах.
Примеры записей:
1890 — 1890 секунд;
2d5h — 2 дня и 5 часов;
3h30s — 3 часа и 30 секунд.
Параметры Default TTL, TTL, Minimum TTL
Временные параметры Default TTL, TTL, Minimum TTL определяют время TTL (Time-to-live — «время жизни»), в течение которого DNS-серверы (кроме вторичных), получившие информацию о записях с любого DNS-сервера, будут ее хранить в своей памяти (кэше) и сообщать ее по запросам других DNS-серверов.
Определяет «время жизни» (time-to-live) для конкретной записи.
Необязательный параметр. Если значение параметра в записи не указано, то «время жизни» определяется параметром Default TTL.
Рекомендуемое значение:
86400 (1d);
Диапазон допускаемых редактором DNS-master значений:
от 600 до 2147483647 секунд включительно (2 31 −1).
Записи, принадлежащие одному множеству RRrset (с одинаковым типом, классом и именем в левой части записи), должны иметь одинаковое значение TTL.
Определяет время TTL— «время жизни», в течение которого кэширующие DNS-серверы, получившие информацию о записях с любого DNS-сервера, будут ее хранить в своей памяти (кэше) и сообщать ее по запросам других DNS-серверов и резолверов.
Рекомендуемое значение:
86400 (1d);
Диапазон допускаемых редактором DNS-master значений:
от 600 до 2147483647 секунд включительно (2 31 −1).
Определяет «время жизни» отрицательных ответов на запросы о ресурсах, не существующих в DNS.
Допустимые значения:
не менее 5 минут.
Формат записи временных параметров приведен в соответствующем разделе
Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, параметры времени кэширования зонной информации и взаимодействия DNS-серверов.
В любой зоне должна быть только одна SOA-запись для имени, совпадающего с именем зоны.
имя [TTL] SOA Данные
имя: имя зоны
TTL: см. описание параметра TTL
SOА: тип записи
Первичный (Primary) DNS-сервер для некоторой зоны — DNS-сервер, на котором хранится полная исходная информация об этой зоне.
Пример записи:
ns3-l2.nic.ru. (неизменяемая запись).
Адрес электронной почты лица, ответственного за содержимое файла зоны.
Формат записи параметра Hostmaster:
В интерфейсе редактора зон в этом поле следует указывать электронный адрес (один) в обычном формате адреса электронной почты.
В файл зоны адрес будет записан в стандартном для поля Hostmaster формате, т.е. с символом «@», замененным на «.», и с точкой в конце.
Пример записи:
dns.nic.ru.
Serial number (серийный номер) — это номер версии файла зоны. Этот номер должен быть положительным целым числом и увеличиваться каждый раз, когда в файл зоны вносятся изменения (см. RFC1982). Увеличение серийного номера показывает вторичным серверам, что зона изменена, и что им необходимо обновить у себя зону.
Вы можете не увеличивать этот номер вручную, т.к. он увеличивается автоматически при сохранении файла зоны в редакторе файлов зон.
Если вы измените серийный номер так, что после сохранения файла зоны он останется неизменным или станет меньше, чем был ранее, то вторичные серверы не будут перечитывать данные с первичного сервера, т.к. будут считать, что данные не изменились.
Диапазон допустимых значений (для редактора файлов зон): от 0 до 2147483646 включительно (2 31 −2).
Временной параметр Refresh показывает, как часто вторичные серверы должны запрашивать первичный сервер, чтобы узнать, не увеличился ли Serial number(серийный номер) зоны и, следовательно, не нужно ли обновить ее у себя.
Рекомендуемое значение: от 1h до 6h.
Диапазон допустимых значений: от 30m до 4w.
Формат записи временных параметров приведен в соответствующем разделе.
Параметр Retry показывает, как долго вторичный сервер имен должен ждать, перед тем как повторить попытку запроса первичного сервера (на предмет изменений серийного номера данной зоны), если предыдущая попытка оказалась неудачной.
Рекомендуемое значение: от 20m до 60m;
Диапазон допустимых значений: от 5m до 2w.
Формат записи временных параметров приведен в соответствующем разделе.
Параметр Expire указывает верхнее ограничение по времени, в течение которого вторичный сервер может использовать ранее полученные данные о зоне до того, как они потеряют силу из-за отсутствия обновления (например, вследствие отключения первичного сервера имен на длительное время).
Рекомендуемое значение: от 1w до 1m;
Диапазон допустимых значений: не менее значения параметра Refresh и не более 1 года.
Формат записи временных параметров приведен в соответствующем разделе.
Для редактирования SOA-записи необходимо выбрать домен.
Затем выбрать пункт «SOA и TTL».
После чего заполнить необходимые поля и нажать кнопку «Применить».
Далее, перед выгрузкой обновленного файла зоны можно посмотреть его содержимое, для этого нужно зайти в пункт «Ресурсные записи».
Нажать ссылку «предпросмотр зоны».
В открывшемся окне проверить правильность обновляемых данных.
В данном случае SOA-запись имеет следующий вид:
domaintest.ru. IN SOA ns3-l2.nic.ru. dns.nic.ru.
(
2014012102 ; serial
1440 ; refresh
36000 ; retry
2592000 ; expire
600 ; minimum
)
Если данные верны, то нужно выгрузить зону. Для этого закройте окно с содержимым файла зоны и нажмите кнопку «Выгрузить зону».
Запись типа A позволяет установить соответствие между именем хоста в домене и его IP-адресом.
Запись типа A имеет следующий формат:
имя_хоста [TTL] A IP-адрес
имя_хоста: доменное имя хоста (устройства), подключенного к Интернету, для которого данная запись определяет соответствие с его IP-адресом.
TTL: см. описание параметра TTL
А: тип записи
IP-адрес: IP-адрес хоста.
Обращаем ваше внимание на то, что у всех записей типа А, относящихся к одному имени хоста, значение TTL должно быть одинаковым.
Примеры A-записи для хоста info.domaintest.ru в файле зоны domaintest.ru:
или
Записи типа NS (Name Server — cервер имен) описывают DNS-серверы для данного домена. Количество записей типа NS в файле зоны должно точно соответствовать количеству DNS-серверов, обслуживающих домен и включать все DNS-серверы, указанные в домене. Для доменов второго уровня это DNS-серверы, указанные в полях «nserver» в информации по домену, которую можно получить, используя сервис Whois (https://www.nic.ru/whois/).
Запись типа NS имеет следующий формат:
доменное_имя [TTL] NS имя_хоста
TTL: см. описание параметра TTL
NS: тип записи
имя_хоста: доменное имя DNS-сервера.
Примеры NS-записей в домене domaintest.ru. Указаны DNS-серверы, обслуживающие домен domaintest.ru и домен третьего уровня test в домене domaintest.ru (test.domaintest.ru).
Для домена domaintest.ru:
В случае делегирования поддомена, например, test.domaintest.ru:
Обращаем ваше внимание на то, что у всех записей типа NS, относящихся к одному доменному имени, значение TTL должно быть одинаковым.
Если для делегирования некоторого домена в зону внесены NS-записи, то для этого доменного имени в данной зоне не может быть других типов записей, кроме glue-записей, если они нужны (см. RFC1034).
Например, в зоне domaintest.ru делегирован домен vasja.domaintest.ru:
vasja.domaintest.ru. NS ns1.vasja.domaintest.ru.
vasja.domaintest.ru. NS ns2. vasja.domaintest.ru.
В этом случае нужны glue-записи (A-записи с указанием IP-адресов DNS-серверов, на которых размещен домен) вида:
ns1.vasja.domaintest.ru. A 194.123.1.1
ns2.vasja.domaintest.ru. A 194.123.2.1
и недопустимы записи вида:
vasja.domaintest.ru. MX 10 mail.domaintest.ru.
www.vasja.domaintest.ru. A 194.123.1.3
Эти записи должны находиться в зоне домена vasja.domaintest.ru.
Запись типа MX (Mail Exchange — почтовый сервер) определяет почтовый сервер — машину, которая обрабатывает почту для вашего домена.
Запись типа MX имеет следующий формат:
доменное_имя [TTL] MX приоритет почтовый сервер
TTL: см. описание параметра TTL
MX: тип записи
приоритет: определяет значение приоритетности почтового сервера. Чем меньше число, тем выше приоритет почтового сервера (0 означает самый высокий приоритет, 65535 — самый низкий). Таким образом, почтовый сервер с более высоким приоритетом является основным, а почтовые серверы с более низкими приоритетами будут второстепенными и вступят в работу в том случае, если все более приоритетные серверы по каким-либо причинам недоступны или неработоспособны.
почтовый сервер: имя почтового сервера.
Примеры MX-записей для домена domaintest.ru:
или
Таким образом, почтовый сервер relay2.domaintest.ru является основным, а relay3.domaintest.ru является второстепенным почтовым сервером и вступает в работу в том случае, если relay2.domaintest.ru по каким-либо причинам недоступен или неработоспособен.
Обращаем ваше внимание на то, что у всех записей типа MX, относящихся к одному доменному имени, значение TTL должно быть одинаковым, то есть приведенные в примере записи не могут существовать одновременно.
Запись типа CNAME (Canonical Name — каноническое имя) позволяет присваивать хосту мнемонические имена. Мнемонические имена, или псевдонимы, широко применяются для связывания с хостом какой-либо функции, либо просто для сокращения имени.
Реальное имя иногда называют каноническим.
Если для хоста есть запись типа CNAME, которая содержит его мнемонические имена, другие записи для данного хоста должны ссылаться на его реальное (каноническое) имя, а не на мнемоническое. Когда программы DNS встречают запись CNAME, они прекращают свои запросы по мнемоническому имени и переключаются на реальное имя.
Например, недопустима конструкция вида:
ns1.domaintest.ru. CNAME ns.domaintest.ru.
office.domaintest.ru. NS ns1.domaintest.ru.
Кроме того, если данное имя использовано в качестве псевдонима, то на него нельзя занести записи любого другого типа.
Т.е. недопустима конструкция вида:
domain CNAME имя_хоста
domain MX 10 почтовый сервер
Мнемонические имена полезны, например, в случае, когда имя хоста изменилось, и вы хотите разрешить пользователям, знающим старое имя, получить доступ к хосту.
Запись типа CNAME имеет следующий формат:
мнемоимя [TTL] CNAME имя_хоста
Мнемоимя: мнемоническое имя хоста
TTL: см. описание параметра TTL
CNAME: тип записи
имя_хоста: каноническое имя хоста.
Примеры CNAME-записей для хоста archive.domaintest.ru в домене domaintest.ru.:
или
Запись типа AAAA позволяет установить соответствие между именем хоста в домене и его IPv6-адресом.
Запись типа AAAA имеет следующий формат:
имя_хоста [TTL] AAAA IPv6_адрес
имя_хоста: доменное имя хоста (устройства), подключенного к Интернету, для которого данная запись определяет соответствие с его IPv6-адресом.
TTL: см. описание параметра TTL
АAAA: тип записи
IPv6_адрес: IPv6-адрес хоста.
Обращаем ваше внимание на то, что у всех записей типа АAAA, относящихся к одному имени хоста, значение TTL должно быть одинаковым.
Примеры AAAA-записи для хоста info.domaintest.ru в файле зоны domaintest.ru:
или
Записи типа PTR (Pointer — указатель) служат для выполнения обратного преобразования IP-адресов в имена хостов. Для каждого сетевого интерфейса хоста рекомендуется создать запись PTR.
Примечание: Если провайдер выделил вам несколько IP-адресов из своей сети, то по поводу записей в обратной зоне вам следует обращаться к нему.
Запись типа PTR имеет следующий формат:
адрес [TTL] PTR имя_хоста
адрес: преобразованный IP-адрес хоста
TTL: см. описание параметра TTL
PTR: тип записи.
Если провайдер выделил вам IP-адрес 194.85.61.42 в сети 194.85.61.0/24, то запись о вашем хосте (например, mx.domaintest.ru) будет сделана провайдером в обратной зоне 61.85.194.in-addr.arpa. Запись будет иметь вид:
или
Записи типа SRV используются для поиска серверов, обеспечивающих работу тех или иных служб в данном домене.
С подробным описанием этого типа записей вы можете ознакомиться в RFC-2782.
Запись типа SRV имеет следующий формат:
_Service._Proto.Name [TTL] SRV Priority Weight Port Target
Service: название службы (пример: ldap, kerberos, gc и другие).
Proto: протокол, при помощи которого клиенты могут подключиться к данной службе (пример: tcp, udp).
Name: имя домена, в котором размещена данная служба.
TTL: см. описание параметра TTL.
SRV: тип записи.
Priority: приоритет данного сервера. Чем меньше число, тем выше приоритет (0 означает самый высокий приоритет, 65535 — самый низкий).
Weight: относительный вес для серверов с одинаковым приоритетом. Предназначен для распределения нагрузки между серверами, для которых указан равный приоритет.
Port: порт, на котором размещена указанная служба на данном сервере.
Target: доменное имя сервера, предоставляющего данную службу.
Примеры SRV-записей
или
Запись типа TXT обычно используется для текстового описания доменного имени.
Запись типа TXT имеет следующий формат:
имя [TTL] TXT текст
имя: имя домена или хоста
TTL: см. описание параметра TTL
TXT: тип записи
текст: одна или несколько текстовых строк, каждая из которых содержит не более 255 символов.
Примеры TXT-записи:
или
При добавлении или редактировании TXT-записи в интерфейсе редактора файлов зон:
Просмотр существующих ресурсных записей
Для просмотра ресурсных записей необходимо выбрать домен.
Перейти в раздел «Ресурсные записи»
После этого на странице откроется таблица со списком всех текущих ресурсных записей.
Добавление новых ресурсных записей
Для того чтобы добавить новую запись, нужно перейти в раздел «Ресурсные записи» зоны и нажать кнопку «Добавить новую запись».
Указать необходимые параметры добавляемой записи.
* Количество и набор задаваемых параметров различаются в зависимости от типа добавляемой записи
После того, как вы добавите новую зону, вам нужно выгрузить файл зоны для того, чтобы изменения вступили в силу. Для этого на этой же странице нажмите кнопку «Выгрузить зону».
Маски (символ «*») в записях файла зоны
DNS резервирует специальный символ, звездочку (*), для использования в файлах зоны в качестве части маски. Звездочка сопоставляется с любым числом меток в имени, за исключением тех случаев, когда запись для имени уже существует в базе данных DNS-сервера.
Место использования маски строго определено — это может быть только первый символ в поле имени текущего домена или имени хоста, отделенный от остальных символом «.».
Символ звездочка (*) недопустим в имени домена в левой части NS-записи.
Примеры использования масок:
Что такое SOA-запись и как ее проверить
SOA-запись (Start of Authority) — начальная запись зоны, которая указывает местоположение эталонной записи о домене. Она содержит в себе контактную информацию лица, ответственного за данную зону, время кэширования информации на серверах и данные о взаимодействии DNS. SOA-запись создается автоматически. Удалить ее нельзя.
Подробнее об SOA-записи вы можете узнать в статье Что такое ресурсные записи DNS?
Какие параметры хранятся в SOA-записи
TTL – время, в течение которого информация будет кешироваться другими DNS-серверами.
Hostname – контактный адрес лица, который отвечает за администрирование файла зоны.
Serial number – 32-разрядное число, которое содержит в себе серийный номер файла зоны. Изменяется при каждом обновлении зоны.
Refresh – время (в секундах) ожидания ответа вторичного DNS перед запросом SOA-записи с первичных серверов. По истечении данного времени вторичный DNS обращается к первичному для получения копии текущей SOA-записи. Первичный DNS-сервер выполняет этот запрос. Вторичный DNS-сервер сравнивает полученный серийный номер зоны с имеющимся. Если они отличаются, то осуществляется запрос к первичному DNS-серверу на трансфер зоны.
Retry – если сервер недоступен, то в по истечении времени (в секундах), указанного в данном параметре, сервер повторно попытается синхронизировать информацию с первичных DNS-серверов.
Expire – время (в секундах), в течение которого вторичный DNS будет пытаться завершить синхронизацию зоны с первичным. Если это время истечет до того, как синхронизация закончится, то зона на вторичном DNS-сервере перестанет обслуживать запросы об этой зоне.
Minimum TTL – время жизни кэша для негативного ответа на запрос в зонe.
Как проверить SOA-запись
Проверка SOA-записи осуществляется с помощью утилиты dig:
Введите ваш домен, выберите тип записи SOA и нажмите проверить:
Формат SOA-записи, полученный через утилиту dig, выглядит следующим образом: