DNS — это распределённая система, которая переводит удобные для человека доменные имена вроде
Что происходит при открытии сайта
Когда пользователь вводит адрес в браузере, система выполняет несколько шагов:
1. Проверяет DNS-кэш браузера.
2. Проверяет кэш операционной системы.
3. Обращается к DNS-серверу, указанному в настройках сети.
4. Если ответа нет в кэше, начинается поиск по иерархии DNS.
5. Полученный IP-адрес передаётся браузеру.
6. Браузер устанавливает соединение с сервером сайта.
Схематично процесс выглядит так:
Рекурсивные и авторитетные серверы
Рекурсивный DNS-сервер получает запрос от пользователя и самостоятельно ищет ответ. Обычно его предоставляет интернет-провайдер, но можно использовать публичные серверы, например:
Авторитетный DNS-сервер хранит настоящие записи конкретного домена. Например, именно он знает, что
Корневые серверы DNS не хранят адреса всех сайтов. Они подсказывают, где искать серверы доменной зоны верхнего уровня — например
Основные типы DNS-записей
A-запись
Связывает домен с IPv4-адресом:
AAAA-запись
Используется для IPv6:
CNAME
Создаёт псевдоним для другого доменного имени:
CNAME нельзя использовать для корневого домена в классическом виде, потому что у него уже могут быть обязательные записи вроде
MX
Указывает почтовые серверы домена:
Число
TXT
Хранит произвольный текст. На практике записи TXT применяются для подтверждения владения доменом, настройки SPF, DKIM и других механизмов безопасности.
Пример SPF-записи:
NS
Показывает, какие серверы являются авторитетными для домена:
Что такое TTL
TTL, или Time To Live, определяет, сколько секунд DNS-запись может храниться в кэше.
В данном примере запись будет кэшироваться до 300 секунд.
Низкий TTL позволяет быстрее распространять изменения, но увеличивает количество DNS-запросов. Высокий TTL снижает нагрузку и ускоряет повторные обращения, однако при смене IP старый адрес может сохраняться у пользователей дольше.
Перед переносом сайта часто заранее уменьшают TTL, например с 3600 до 300 секунд. После завершения миграции значение можно вернуть обратно.
Практическая диагностика
Проверить DNS-записи можно через утилиты
Получить только IPv4-адрес:
Проверить почтовые записи:
Посмотреть полный путь поиска:
В Windows аналогичную задачу выполняет команда:
Если сайт не открывается, полезно сравнить ответы разных DNS-серверов:
Если ответы отличаются, проблема может быть связана с кэшированием, неправильной настройкой зоны или задержкой распространения изменений.
DNS и безопасность
Обычный DNS исторически передаёт запросы без шифрования. Это позволяет провайдеру или промежуточному узлу видеть, какие домены запрашивает пользователь.
Для защиты применяются:
DNSSEC не шифрует запросы, но позволяет проверить подлинность полученной записи. DoH и DoT, наоборот, скрывают содержимое запросов от наблюдателей, однако сами по себе не гарантируют, что сайт безопасен.
Типичные ошибки
Неправильная A-запись
Домен указывает на старый или недоступный сервер. Проверяется командой:
Отсутствует запись для
Корневой домен может открываться, а
Слишком большой TTL
После изменения IP пользователи продолжают попадать на старый сервер. Нужно дождаться окончания срока кэширования.
Ошибка в MX-записях
Письма не доставляются, если MX указывает на несуществующий сервер или имеет неправильный приоритет.
Несовпадение DNS и настроек хостинга
Домен может быть зарегистрирован у одного провайдера, а DNS-зона обслуживаться у другого. В таком случае изменять записи нужно именно там, где находятся авторитетные DNS-серверы.
Итог
DNS состоит из нескольких уровней: кэшей, рекурсивных серверов, корневых серверов, серверов доменных зон и авторитетных серверов. Его работа обычно занимает миллисекунды, хотя за простым вводом адреса скрывается довольно длинная цепочка запросов.
Для повседневной диагностики достаточно понимать типы записей, значение TTL и уметь пользоваться
example.com в IP-адреса серверов. Без неё пользователям пришлось бы запоминать длинные последовательности чисел, например 93.184.216.34. По сути, DNS работает как телефонная книга интернета, только записей в ней на порядок больше.Что происходит при открытии сайта
Когда пользователь вводит адрес в браузере, система выполняет несколько шагов:
1. Проверяет DNS-кэш браузера.
2. Проверяет кэш операционной системы.
3. Обращается к DNS-серверу, указанному в настройках сети.
4. Если ответа нет в кэше, начинается поиск по иерархии DNS.
5. Полученный IP-адрес передаётся браузеру.
6. Браузер устанавливает соединение с сервером сайта.
Схематично процесс выглядит так:
Код:
Браузер
↓
Кэш ОС
↓
Рекурсивный DNS-сервер
↓
Корневой DNS-сервер
↓
Сервер доменной зоны (.com, .ru и т. д.)
↓
Авторитетный DNS-сервер домена
↓
IP-адрес сайта
Рекурсивные и авторитетные серверы
Рекурсивный DNS-сервер получает запрос от пользователя и самостоятельно ищет ответ. Обычно его предоставляет интернет-провайдер, но можно использовать публичные серверы, например:
Код:
Cloudflare: 1.1.1.1
Google: 8.8.8.8
Quad9: 9.9.9.9
Авторитетный DNS-сервер хранит настоящие записи конкретного домена. Например, именно он знает, что
example.com должен указывать на определённый IP-адрес.Корневые серверы DNS не хранят адреса всех сайтов. Они подсказывают, где искать серверы доменной зоны верхнего уровня — например
.com, .org, .ru или .dev.Основные типы DNS-записей
A-запись
Связывает домен с IPv4-адресом:
Код:
example.com. A 203.0.113.10
AAAA-запись
Используется для IPv6:
Код:
example.com. AAAA 2001:db8::10
CNAME
Создаёт псевдоним для другого доменного имени:
Код:
www.example.com. CNAME example.com.
CNAME нельзя использовать для корневого домена в классическом виде, потому что у него уже могут быть обязательные записи вроде
SOA и NS.MX
Указывает почтовые серверы домена:
Код:
example.com. MX 10 mail.example.com.
Число
10 — приоритет. Чем оно меньше, тем предпочтительнее сервер.TXT
Хранит произвольный текст. На практике записи TXT применяются для подтверждения владения доменом, настройки SPF, DKIM и других механизмов безопасности.
Пример SPF-записи:
Код:
example.com. TXT "v=spf1 mx -all"
NS
Показывает, какие серверы являются авторитетными для домена:
Код:
example.com. NS ns1.example.net.
example.com. NS ns2.example.net.
Что такое TTL
TTL, или Time To Live, определяет, сколько секунд DNS-запись может храниться в кэше.
Код:
example.com. 300 A 203.0.113.10
В данном примере запись будет кэшироваться до 300 секунд.
Низкий TTL позволяет быстрее распространять изменения, но увеличивает количество DNS-запросов. Высокий TTL снижает нагрузку и ускоряет повторные обращения, однако при смене IP старый адрес может сохраняться у пользователей дольше.
Перед переносом сайта часто заранее уменьшают TTL, например с 3600 до 300 секунд. После завершения миграции значение можно вернуть обратно.
Практическая диагностика
Проверить DNS-записи можно через утилиты
dig и nslookup.
Bash:
dig example.com
Получить только IPv4-адрес:
Bash:
dig +short example.com A
Проверить почтовые записи:
Bash:
dig example.com MX
Посмотреть полный путь поиска:
Bash:
dig +trace example.com
В Windows аналогичную задачу выполняет команда:
Код:
nslookup example.com
Если сайт не открывается, полезно сравнить ответы разных DNS-серверов:
Bash:
dig @1.1.1.1 example.com
dig @8.8.8.8 example.com
Если ответы отличаются, проблема может быть связана с кэшированием, неправильной настройкой зоны или задержкой распространения изменений.
DNS и безопасность
Обычный DNS исторически передаёт запросы без шифрования. Это позволяет провайдеру или промежуточному узлу видеть, какие домены запрашивает пользователь.
Для защиты применяются:
- DNS over HTTPS (DoH) — DNS-запросы передаются внутри HTTPS;
- DNS over TLS (DoT) — используется отдельное TLS-соединение;
- DNSSEC — цифровая подпись DNS-данных, защищающая от подмены ответа.
DNSSEC не шифрует запросы, но позволяет проверить подлинность полученной записи. DoH и DoT, наоборот, скрывают содержимое запросов от наблюдателей, однако сами по себе не гарантируют, что сайт безопасен.
Типичные ошибки
Неправильная A-запись
Домен указывает на старый или недоступный сервер. Проверяется командой:
Bash:
dig +short example.com
Отсутствует запись для
wwwКорневой домен может открываться, а
www.example.com — нет. Для исправления добавляют A-запись или CNAME.Слишком большой TTL
После изменения IP пользователи продолжают попадать на старый сервер. Нужно дождаться окончания срока кэширования.
Ошибка в MX-записях
Письма не доставляются, если MX указывает на несуществующий сервер или имеет неправильный приоритет.
Несовпадение DNS и настроек хостинга
Домен может быть зарегистрирован у одного провайдера, а DNS-зона обслуживаться у другого. В таком случае изменять записи нужно именно там, где находятся авторитетные DNS-серверы.
Итог
DNS состоит из нескольких уровней: кэшей, рекурсивных серверов, корневых серверов, серверов доменных зон и авторитетных серверов. Его работа обычно занимает миллисекунды, хотя за простым вводом адреса скрывается довольно длинная цепочка запросов.
Для повседневной диагностики достаточно понимать типы записей, значение TTL и уметь пользоваться
dig или nslookup. А если DNS внезапно «сломался», первым делом стоит проверить, кто обслуживает доменную зону и какой ответ реально возвращают разные DNS-серверы.