С ходу скажем, что DNS — это система перевода цифр в слова и обратно. Зачем же это? Сложно запомнить числа? Так-то да, можно запомнить непонятный набор цифр, а потом по нему искать нужный сайт, но по именам гораздо проще это делать. Мы ведь не называем людей числами, хоть иногда так действительно удобнее, например, на соревнованиях. Однако все же мы даем людям имена. С сайтами похожая ситуация, но наоборот.
D — Domain, N — Name, S — System
DNS (система доменных имен) — это своего рода способ перевода с машинного языка на человеческий и обратно. Все уже знают, что компьютеры общаются между собой при помощи цифр, соответственно, и адрес своего проживания они также называют цифрами. Допустим, если бы человек был компьютером, то адрес своего проживания, например, ул. Серверная, 10, кв.101, он укажет в формате IP-адреса — 141.8.197.99.
Как мы уже говорили в статье про домены, сайт обязательно находится на каком-либо сервере, который имеет свой IP-адрес. По этому адресу содержимое сайта открывается у пользователя. Однако мы только вскользь упомянули про DNS и процесс его работы.
Вводя в адресную строку браузера доменное имя, вы отправляете запрос на сервер DNS, на котором находится сайт. Сервер сопоставляет доменное имя с IP-адресом по своей базе данных, а потом отправляет информацию хостингу, например, нам, и сайт открывается. Если сопоставление не удалось на первом сервере, то запрос двигается к следующему на уровень выше. Так может продолжаться, пока запрос не дойдет до корневого сервера — если и там не будет совпадения, то либо сайта не существует, либо это какая-то ошибка. Сами корневые серверы находятся по всему миру, взаимодействие между ними отлично налажено посредством особого протокола, поэтому сайты открываются довольно быстро. К примеру, в России находится 15 корневых серверов, 5 из которых размещены в Санкт-Петербурге.
Корневой сервер имеет корневой домен — домен нулевого, самого верхнего уровня. В адресной строке он обозначается точкой («yandex.ru.»), но сейчас ее не пишут, как, например, поддомен «www».
Систему доменных имен можно представить в виде большой адресной книги, по которой мы ищем соответствие имени и его адреса. Раньше телефонные и адресные книги помогали найти нужного человека или его место жительства с номером телефона. Если человек менял их, то приходилось вручную вносить правки в книгу. С NS-записями такая же история — их приходится менять самостоятельно, кроме некоторых случаев.
Что такое записи DNS?
Вся информация о домене и адресе хранится в специальном файле на DNS-сервере. В этом файле находятся особые записи, также называемые ресурсными. Таких записей много, поэтому мы перечислим часто используемые и важные:
- NS показывает, на каких NS-серверах находится домен. Обычно прописывают минимум 2 ns-сервера, так как если один будет недоступен, то второй перехватит инициативу. Запись имеет вид «ns1.sprinthost.ru.» — обратим внимание на точку в конце, обозначающую корневой домен;
- A — эта запись хранит в себе IP-адрес (IPv4) сервера, к которому привязан домен. Именно по ней определяется сайт;
- AAAA, или четыре-А, имеет ту же функцию, что и A-запись, но она хранит в себе адрес не IPv4, а IPv6;
- MX — запись для почтового сервера. Благодаря ей, почта на домене может принимать и отправлять письма, но стоит заметить, что без нее сообщения нельзя принимать, но можно отсылать, например, при помощи скрипта. Запись имеет вид «10 mx.yoursite.ru.», где 10 это приоритет почтового ящика, то есть таких записей может быть много. Если указать одинаковый приоритет для двух и более MX-записей, то письмо будет падать в случайный ящик;
- TXT — универсальная запись, в которой можно указать различные функции и информацию о домене. Она используется, например, для настройки SPF, DKIM и DMARC, а также для верификации;
- CNAME-запись сейчас не так часто используется. Ее используют для привязки поддомена к основному имени;
- PTR выполняет обратную A-записи функцию, то есть переводит IP-адрес в доменное имя;
- SRV указывает имя хоста и порт для работы некоторых служб и протоколов. Достаточно специфичная запись, но кому-то понадобится;
- SOA — начальная запись зоны, указывающая на местоположение сервера, на котором хранится эталонная информация о домене, например, время кеширования;
- CAA-запись хранит у себя информацию о SSL-сертификатах.
Чтобы сайт открывался, нужны как минимум NS и A-записи. Их можно посмотреть, например, утилитой dig на Linux или nslookup в Windows. Если сайт размещен у Спринтхост, то в Панели управления можно посмотреть, поменять, удалить или добавить различные записи.
Как указать или поменять ресурсные записи?
В Спринтхост при регистрации домена автоматически прописываются NS, A и AAAA (для FTP, POP, SMTP, поддомена WWW и localhost), MX с установленным приоритетом 10 и TXT с верификацией spf для почты. С таким набором записей можно открыть сайт и получать/отправлять письма. В Панели управления можно добавить новые записи для нужных вам сервисов, поменять существующие, например, указать MX-запись для почтового сервиса Yandex, удалить ненужные.
Обращаем внимание, что после внесения изменений в настройки DNS, нужно подождать сутки, пока обновится кеш DNS. В это время лучше не обращаться к сайту, так как данные посещения вновь запишутся в кеш, что затянет обновление. Еще можно чуть-чуть ускорить процесс обновления, уменьшив TTL (Time To Live) и очистив кеш браузера. Если процесс сильно затянулся, то проблема уже может быть не в кеше — нужно проверить записи, правильно ли они указаны.
В Спринтхост есть подробные инструкции по настройке DNS в различных ситуациях, например, при переносе домена или отладке работы почты.
Разобрались?
В целом, DNS вещь простая, как телефонная книга, но в системе доменных имен есть свои нюансы. Трудности могут возникнуть при смене ресурсных записей, когда можно ошибиться и неправильно ввести данные, например, в длинных записях, как в TXT со множеством параметров. Однако сейчас многие записи указываются автоматически, так что с ними проблем нет. Если возникает какая-либо ошибка, то хостинг-провайдеры обычно оказывают помощь в ее решении.