DNS
Система доменных имен — «телефонная книга» интернета: переводит понятные адреса вроде kpr-it.com в числовые IP-адреса серверов.
DNS (Domain Name System, система доменных имен) — служба, которая переводит имена сайтов в IP-адреса. Людям удобно помнить kpr-it.com, а компьютерам для соединения нужен числовой адрес сервера. Перед каждым обращением к сайту, почте или API устройство спрашивает у DNS: «какой адрес у этого имени?» Без DNS интернет формально работал бы, но пользоваться им было бы невозможно.
Как устроена система
DNS — распределенная иерархия, а не одна огромная база:
- Корневые серверы знают, кто отвечает за зоны верхнего уровня:
.ru,.com,.рф. - Серверы зоны верхнего уровня знают, какие серверы отвечают за каждый домен в зоне.
- Авторитетные серверы домена хранят его записи: адреса сайта, почты, поддоменов.
- Резолверы — серверы провайдера, компании или публичные — проходят эту цепочку за пользователя и запоминают ответы.
Основные типы записей
- A — IPv4-адрес; AAAA — IPv6-адрес (подробнее — в термине IPv4 / IPv6).
- CNAME — псевдоним:
wwwуказывает на основное имя. - MX — почтовые серверы домена.
- TXT — текстовые записи: подтверждение владения доменом, защита почты от подделки (SPF, DKIM, DMARC).
- NS — какие серверы отвечают за домен.
Проверить записи
# Командная строка Linux
dig example.ru A +short
dig example.ru MX +short
Команды показывают адрес сайта и почтовые серверы домена. В Windows то же делает nslookup.
Кэширование и TTL
Чтобы не спрашивать одно и то же миллионы раз, ответы запоминаются — в браузере, операционной системе, у провайдера. Срок хранения задает поле TTL каждой записи. Поэтому изменения DNS вступают в силу не мгновенно: пока не истек старый TTL, часть пользователей ходит по старому адресу. Перед переездом сайта на другой сервер TTL заранее уменьшают, например с суток до пяти минут.
DNS и надежность
Если DNS домена не отвечает, сайт и почта недоступны, даже когда серверы работают. Поэтому у домена всегда несколько DNS-серверов в разных сетях. Ответы DNS можно подделать, и для защиты существуют DNSSEC (подпись записей) и шифрованные запросы DNS over HTTPS и DNS over TLS. На DNS основаны и многие технические решения: географическая балансировка, направление посетителей в ближайшую точку CDN, переключение на резервную площадку.