Как работает DNS: от ввода адреса до открытия сайта
Основы3 минРедакция Innovialabs
Коротко
DNS — это распределенный справочник интернета: резолвер по цепочке спрашивает корневой сервер, сервер зоны и авторитативный сервер домена, получает IP-адрес и кэширует ответ на время TTL.
Коротко: что делает DNS
Компьютеры общаются по IP-адресам, а люди запоминают имена. DNS (Domain Name System) — система, которая переводит имя вроде example.uz в IP-адрес сервера. Это не одна база, а распределенная иерархия серверов: каждый знает только свою часть и подсказывает, куда спросить дальше.
Цепочка разрешения имени шаг за шагом
Допустим, вы впервые открываете www.example.uz.
- Локальный кэш. Браузер и операционная система проверяют, не знают ли они адрес уже. Если знают — запрос дальше не идет.
- Рекурсивный резолвер. Если нет, запрос уходит к резолверу — обычно у вашего интернет-провайдера или публичному вроде
1.1.1.1или8.8.8.8. Резолвер выполнит всю работу по поиску и вернет готовый ответ. - Корневой сервер. Резолвер спрашивает один из корневых серверов: «Где искать
.uz?» Корень не знает IP сайта, но отвечает, какие серверы обслуживают зону.uz. - Сервер зоны (TLD). Резолвер спрашивает сервер
.uz: «Кто отвечает заexample.uz?» Тот возвращает список NS-серверов домена — тех, что указаны у регистратора. - Авторитативный сервер. Резолвер обращается к NS-серверу домена, и тот дает окончательный ответ: IP-адрес
www.example.uz. - Кэширование и ответ. Резолвер сохраняет ответ у себя и передает его браузеру. Браузер подключается к серверу по IP.
Обычно вся цепочка занимает миллисекунды, а повторные запросы еще быстрее — благодаря кэшу.
Основные типы DNS-записей
| Запись | Для чего |
|---|---|
| A | Связывает имя с IPv4-адресом |
| AAAA | Связывает имя с IPv6-адресом |
| CNAME | Делает имя псевдонимом другого имени |
| MX | Указывает почтовые серверы домена |
| TXT | Текстовые данные: SPF, DKIM, подтверждение владения доменом |
| NS | Указывает авторитативные серверы домена |
Кэширование и TTL
Каждая запись имеет TTL (time to live) — время в секундах, сколько резолверы могут хранить ответ, не спрашивая заново. Например, TTL 3600 — это один час.
- Большой TTL снижает нагрузку и ускоряет повторные запросы, но изменения доходят до пользователей медленнее.
- Маленький TTL позволяет быстро переключаться, но увеличивает количество запросов.
Практический совет: перед переездом на новый сервер заранее уменьшите TTL нужных записей, дождитесь, пока истечет старый TTL, затем меняйте IP. После переезда TTL можно вернуть.
То, что называют «распространением DNS», — на самом деле ожидание, пока по всему миру истекут закэшированные старые ответы.
Как проверить DNS самостоятельно
Утилиты dig (Linux, macOS) и nslookup (есть и в Windows) показывают, что отвечает DNS:
# A-запись домена
dig example.uz A +short
# Почтовые серверы
dig example.uz MX +short
# Пройти всю цепочку от корня
dig www.example.uz +trace
nslookup example.uz
Что может сломаться по пути
- Неверные NS у регистратора. Записи настроены у одного DNS-провайдера, а домен делегирован на другой.
- Опечатка в записи или запись указывает на старый IP после переезда.
- Высокий TTL при переезде: часть пользователей еще долго попадает на старый сервер.
- Конфликт CNAME с другими записями того же имени — стандарт это запрещает.
- Истек срок домена: реестр снимает делегирование, и сайт с почтой перестают работать.
- Ошибки DNSSEC: неверные подписи или ключи — резолверы с проверкой отвергают ответы.
- Сбой резолвера у провайдера пользователя: у вас все работает, а у части посетителей — нет.
- Сломанная почта: нет или неправильные MX, SPF, DKIM — письма не доходят или попадают в спам.