Что такое DNS записи и сервер DNS?
Мы открываем сайты по их названию или доменному имени. Например vk.ru, yandex.ru, gosuslugi.ru и т. д. Но сервера в интернете имеют свой цифровой адрес, называем IP. Каждый домен может располагаться на разных серверах. Соответственно, один сайт может иметь несколько разных IP. Так как ваш интернет-обозреватель понимает к какому серверу нужно обратиться, чтобы открыть сайт vk.com? Для этого и нужна служба Domain Name Server или DNS.
Когда вы открываете любую ссылку в браузере, происходит следующая последовательность действий:
- Браузер, например firefox, яндекс браузер или chrome делает запрос к DNS серверу.
- DNS сервер возвращает 1 или несколько IP адресов для данного домена. Например для gosuslugi.ru будут возвращены 213.59.253.7, 213.59.254.7.
- Браузер делает запрос к серверу по одному из полученных адресов.
- Браузер получает в ответ запрашиваемую страницу.
При отправке письма происходит такой же процесс, только вместо адреса сайта почтовая программа запрашивает адрес почтового сервера у DNS сервера.
Более интересный процесс происходит при получении письма. Чтобы получить, письма нужно аж 3 DNS записи! Вот как это происходит:
- Почтовый сервер получает письмо.
- Запрашивается запись типа SPF, в которой указано, какие серверы могут отправлять письма от имени отправителя.
- Если письмо пришло из неразрешённого источника, то письбо блокируется запрашивается запись DMARK. В ней указаны email адрес администратора домена на который нужно отправлять уведомления о несанционированном отправителе.
- Если письмо пришло от разрешённого сервера, то запрашивается запись DKIM. Она представляет собой крипто ключ, для расшифровки подписи электронного письма. Если верификация прошла, то письмо отправляется получателю. Если нет, то либо письмо попадает в папку спамм, либо вообще удаляется.
Как видите, каждая DNS запись предназначена для выполнения своей функции. Далее мы подробно расскажем о каждой из них.
Типы DNS записей
Всего существует десятки видов таких записей, но вам понядобятся только 7 из них. Их ключевая задача — открыть доступ к вашему серверу и обеспечить доставляемость писем. Есть ещё DNS записи для повышения безопасности, построение сетевой инфраструктуры и специфичных технологий.
А и АААА
Этот тип записи предназначен для сопоставления текстового названия сайта и IP адреса сервера. Причём это может быть и адрес почтового сервера. Например mail.yandex.ru — почтовый сервер яндекса.
Существуют IPv4 и IPv6 адреса. Выглядят они так 127.43.23.123 и 3f5e:1900:fe21:4545:645f:120d:e34a:4097. За них отвечают А и АААА записи соответственно.
У сайта может быть несколько IP, каждый из которых принадлежит отдельному серверу. Сервера могут располагаться в одном городе, но в разных дата-центрах. Таким образом, если произойдёт авария в одном дата-центре, вы сможете перенаправить всех пользователей на резервный дата-центр просто настроив DNS службу. У международных сайтов DNS служба настроена таким образом, чтобы выдавать IP того сервера, который расположен ближе всего к пользователю. Таким образом, пользователи youtube в России получают адрес именно российского сервера.
NS запись
Этот тип записи нужен для указания ваших серверов имён. В них содержится вся логика работы DNS службы. То есть, именно в них вы будете создавать, редактировать и удалять DNS записи.
Как правило, при регистрации доменного имени вам выдают бесплатные NS сервера. Благодаря этому, вы можете добавлять, редактировать и удалять все DNS записи прям из веб-интерфейса вашего регистратора доменного имени.
MX запись
MX запись указывает домен почтового сервера. Чаще всего это ваш основной домен с приставкой mail или mx. Например mx.yandex.ru. При отправке письма ваша почтовая программа запрашивает эту запись. Пошагово это происходит так:
- Вы отправляете пиьсьмо на адрес. support@yandex.ru
- Почтовая программа запрашивает MX запись mx.yandex.ru.
- Затем запрашивает A либо AAAA записи для домена mx.yandex.ru получает IPv4 77.88.21.249 или IPv6 2a02:6b8::311 адрес сервера.
- Почтовая программа подключается по IP и отправляет письмо по протоколу SMTP.
SPF запись
Этот тип записи содержит список доверенных серверов, которым позволено отправлять письма от именни домена. Проще говоря, серверы которым позволено в качестве отправителя указывать email с адресом вашего сайта, например admin@vash-sait.ru. Эти записи имеют определённый формат, который напоминает код или шифр. Вот несколько примеров таких записей:
Запись | Описание |
---|---|
v=spf1 a ~all | Отправка писем разрешена только с серверов, для которых указаны A и AAAA записи. |
v=spf1 mx ~all | Отправка писем разрешена только почтового сервера, указанного в записи MX. |
v=spf1 a mx ~all | Разрешена отправка из обоих источников. |
v=spf1 a mx -all | То же самое, что и предидущая запись, только входящий письма из не авторизованных источников будут отклонены, вместо попадания в спам. |
Несмотря на то, что SPF запись имеет богатые возможности по тонкой настройке, для 99% сайтов достаточно будет использовать один из вышеперечисленных примеров.
DMARK запись
Эта запись содержит email администратора сайта. На них отправляются сообщения о попытках злоумышленников отправить письма от вашего имени. Также можно настроить, чтобы вам отправлялись отчёты о доставке писем. Крупные сервисы почты вроде mail.ru, yandex.ru, google.com будут ежедневно присылать XML файл с отчётом о доставленных письмах или о наличии проблем при доставке. Эта DNS запись обязательна, без неё email сервисы и почтовые программы в лучшем случае поместят ваши письма в спам.
DKIM запись
Когда вы отправляете, письмо ваш сервер подписывает письмо специальным криптографическим ключом. Принимающему серверу нужно расшифровать эту подпись. Ключ для её расшифровки и содержится в записи DKIM. Использование криптографической подписи обязательно, иначе письма попадут в спам или вовсе не дойдут. Чтобы сгенерировать DKIM, изучите документацию вашего email сервера. Проверить корректность настройки можно через онлайн-сервисы https://mxtoolbox.com/deliverability и https://www.mail-tester.com/.
PTR, rDNS или обратная DNS запись
Данная запись помогает сопоставить IP адрес и домен сайта. Она похожа на A и AAAA запись, только действует наоборот. Эта запись крайне желательна, так как повышает доверие к отправителю писем. Настроить её можно в хостинг панели вашего VPS сервера.
Другие типы записей
На данный момент существует 48 видов DNS записей. Каждая из них описывается отдельным стандартом размером с небольшую книжку. Но вам будет достаточно информации из данной статьи и 7 записей. Как DNS записи влияют на почту и доставляемость писем
Без SPF, DMARK, DKIM записей письма попадут в спам. Если вы используете свой почтовый сервер, а не общий вроде yandex, mail, google и т.д то нужно самостоятельно настроить DKIM шифрование и проверить, правильно ли подписываются письма в специальных сервисах. Также рекомендуем настроить rDNS запись для увеличения доверия.
Где добавлять, редактировать, удалять
Для любой записи нужно указать 4 поля:
- Тип — буквенный тип. Например, MX, DMARC, AAAA.
- Хост — поддомен или главный домен, к которому будет относиться запись. Можно использовать спецсимвол *, который означает любую последовательность символов. Например для хосту *.example.com соответствуют домен www.example.com, dev.example.com, cabinet. example.com и т.д.
- TTL — время обновления DNS записи в секундах. Мало на что влияет, так как чаще всего DNS серверы обновляют записи в соответствии со своими личными настройками. Но лучше указать 3600.
- Значение — непосредственно значение записи.
DNS записи указываются на NS серверах. Как правило, для удобства их предоставляет регистратор домена.
Вот примеры настройки DNS серверов популярных регистраторов доменов:
После обновления или добавления записи нужно подождать 4 часа, чтобы изменения применились.
Сервисы для онлайн-проверки настроек
Проверить правильность настройки вышеуказанных DNS записей можно 2 способами:
- Проверить открывается ли ваш сайт в браузере. Так вы проверите A запись.
- Для проверки AAAA записи для IPv6 адреса воспользуйтесь сервисом https://dnschecker.org/ipv6-compatibility-checker.php.
- Для проверки MX, SPF, DKIM, DMARK воспользуйтесь сервисами https://mxtoolbox.com/deliverability и https://www.mail-tester.com/.
- Для проверки PTR, rDNS или обратной DNS записи воспользуйтесь сервисом https://dnschecker.org/reverse-dns.php.