Типы DNS-записей: A, AAAA, CNAME, MX, TXT
Типы DNS-записей: A, AAAA, CNAME, MX, TXT
Мы знаем, что DNS переводит имена в IP-адреса. Но на самом деле DNS хранит не только IP-адреса, а множество разных типов данных. Какой IP у домена? Кто принимает почту? Куда перенаправлять? Кто обслуживает этот домен? Ответы на эти вопросы хранятся в записях (resource records, RR) разных типов. Рассмотрим основные.
A-запись: имя → IPv4
A-запись (Address record) — самая важная. Она связывает доменное имя с IPv4-адресом. Когда браузер загружает сайт, в конечном счёте ему нужна именно A-запись (или AAAA для IPv6):
example.com. A 93.184.216.34
Один домен может иметь несколько A-записей — это используется для балансировки нагрузки. Браузер выбирает одну из них (обычно случайно или по кругу):
google.com. A 142.250.185.206
google.com. A 142.250.185.238
google.com. A 142.250.185.174
AAAA-запись: имя → IPv6
AAAA-запись (произносится «quad-A») — то же самое, но для IPv6-адресов:
example.com. AAAA 2606:2800:220:1:248:1893:25c8:1946
Если у домена есть и A, и AAAA, браузер предпочтёт IPv6 (если он доступен). Так работает механизм Happy Eyeballs: браузер пробует оба протокола одновременно и выбирает тот, что ответил быстрее.
CNAME-запись: псевдоним
CNAME (Canonical Name) — это «переадресация»: одно имя ссылается на другое. Когда резолвер видит CNAME, он начинает разрешение заново для целевого имени:
www.example.com. CNAME example.com.
Теперь любой запрос к www.example.com будет перенаправлен к example.com, и резолвер запросит A-запись для example.com.
CNAME удобен, когда много поддоменов указывают на один сервер. Меняешь IP в одном месте (A-запись основного домена) — и все поддомены автоматически следуют за ним.
Важное ограничение: CNAME нельзя поставить на голый домен (apex domain) — example.com не может быть CNAME. Почему? Потому что у домена могут быть другие обязательные записи (SOA, NS), а CNAME по стандарту означает «это имя — псевдоним, других записей у него быть не должно». Для обхода этого ограничения есть специальные типы записей (ANAME, ALIAS), но они не входят в стандарт DNS.
MX-запись: почта
MX (Mail Exchange) указывает, какой сервер принимает электронную почту для домена:
example.com. MX 10 mail.example.com.
example.com. MX 20 backup-mail.example.com.
Число (10, 20) — это приоритет. Чем меньше, тем выше приоритет. Отправляющий почтовый сервер пробует сервер с наивысшим приоритетом (10). Если тот недоступен — переходит к следующему (20). Так обеспечивается резервирование почты.
Без MX-записи почта на user@example.com не будет доставляться (или будет пытаться доставиться напрямую на A-запись домена, что ненадёжно).
TXT-запись: произвольный текст
TXT-запись изначально предназначалась для человекочитаемых заметок, но сегодня используется для машинных проверок:
- SPF (Sender Policy Framework): какие серверы могут отправлять почту от имени домена.
- DKIM: криптографическая подпись для проверки подлинности писем.
- DMARC: политика обработки писем, не прошедших SPF/DKIM.
- Проверка владения доменом. Google Search Console, Яндекс.Вебмастер и другие сервисы просят добавить TXT-запись с уникальным кодом для подтверждения, что домен твой.
Пример SPF-записи:
example.com. TXT "v=spf1 mx include:_spf.google.com ~all"
NS-запись: кто обслуживает домен
NS (Name Server) указывает, какие серверы являются авторитативными для домена:
example.com. NS ns1.example.com.
example.com. NS ns2.example.com.
Обычно NS-записи настраиваются регистратором и указывают на DNS-серверы хостинга или специализированного DNS-провайдера (Cloudflare, AWS Route53, Яндекс.Облако).
Другие полезные типы записей
| Тип | Назначение | Пример |
|---|---|---|
| SOA | Start of Authority — административная информация о зоне (основной NS, email админа, таймеры) | Создаётся автоматически |
| PTR | Обратная запись: IP → имя (reverse DNS) | Нужна для почтовых серверов |
| SRV | Указывает хост и порт для конкретного сервиса | Используется VoIP, LDAP, XMPP |
| CAA | Certificate Authority Authorization — каким CA можно выпускать сертификаты для домена | Защита от несанкционированных сертификатов |
Как посмотреть DNS-записи
Команда nslookup (Windows) или dig (Mac/Linux) показывает DNS-записи:
# A-запись
dig example.com A
# MX-записи
dig example.com MX
# Все записи (если сервер разрешает zone transfer — обычно нет)
dig example.com ANY
Проверь себя
- Можно ли использовать CNAME для
example.com(без www)? - Зачем нужны две MX-записи с разными приоритетами?
- Как проверить, что домен действительно принадлежит тебе, через DNS?
- По стандарту — нет. CNAME для apex-домена запрещён, потому что у домена должны быть NS и SOA записи, а CNAME говорит «я всего лишь псевдоним, других записей у меня нет».
- Для резервирования. Если основной почтовый сервер (приоритет 10) недоступен, почта пойдёт на резервный (приоритет 20). Когда основной восстановится, почтовый поток вернётся к нему.
- Добавить TXT-запись с уникальным кодом, выданным сервисом (Google, Яндекс и т.п.). Сервис проверяет наличие этой записи и убеждается, что ты контролируешь DNS домена.
Что унести с урока
- A (IPv4) и AAAA (IPv6) — связывают имя с IP-адресом.
- CNAME — псевдоним, перенаправляет на другое имя (нельзя для apex-домена).
- MX — почтовые серверы домена с приоритетами для резервирования.
- TXT — произвольный текст, используется для SPF, DKIM, проверки владения.
- NS — указывает авторитативные DNS-серверы домена.
DNS-записи не хранятся вечно. В следующем уроке разберём TTL (время жизни) и то, как кэширование ускоряет DNS.