Компьютерные сети

DNS записи: A, AAAA, CNAME, MX

DNS - не просто «имя → IP». Это база данных с разными типами записей: адреса серверов, почтовые шлюзы, криптографические ключи, верификационные токены. Понимание типов записей - ключ к настройке доменов.

  • **Email:** без правильных MX, SPF, DKIM письма попадают в спам
  • **CDN/Хостинг:** CNAME для подключения Cloudflare, Vercel, Netlify
  • **Верификация:** TXT для подтверждения владения доменом в Google/AWS

Предварительные знания

  • DNS: The Internet's Phone Book

A запись - IPv4 адрес

**A запись** (Address) - самый базовый тип DNS-записи. Связывает доменное имя с IPv4-адресом. При заходе на сайт браузер в первую очередь ищет A-запись.

**Round-robin DNS:** Несколько A-записей для одного домена - простейший load balancing. DNS возвращает их в разном порядке, распределяя нагрузку. Минус: не учитывает здоровье серверов.

Что хранит A-запись?

AAAA запись - IPv6 адрес

**AAAA запись** (Quad-A) - то же, что A, но для IPv6. Название «четыре A» потому что IPv6 (128 бит) в 4 раза длиннее IPv4 (32 бит). Современные сайты имеют и A, и AAAA.

**Happy Eyeballs (RFC 6555):** Браузеры запрашивают A и AAAA параллельно. Если IPv6 работает - используют его. Если IPv6 медленный или сломан - переключаются на IPv4 за миллисекунды.

Почему запись называется AAAA (четыре A)?

CNAME - каноническое имя (алиас)

**CNAME** (Canonical Name) - алиас, указывающий на другое доменное имя. Вместо IP-адреса содержит имя. Резолвер следует по цепочке CNAME, пока не найдёт A/AAAA-запись.

**Ограничение CNAME:** Нельзя ставить CNAME на apex domain (example.com без www). CNAME заменяет ВСЕ записи для имени, включая MX, NS. Для apex используйте A/AAAA или ALIAS/ANAME (нестандартные).

На что указывает CNAME?

MX - почтовые серверы

**MX** (Mail Exchanger) - указывает, какой сервер принимает почту для домена. Содержит приоритет (чем меньше - тем важнее) и имя почтового сервера. При отправке на user@example.com ищется MX для example.com.

**Без MX:** Если MX нет, почтовые серверы пробуют отправить на A-запись домена. Но это fallback - лучше всегда иметь MX. Для отключения почты: MX с приоритетом 0 и точкой (null MX, RFC 7505).

Что означает меньший приоритет в MX?

TXT - текстовые записи

**TXT** (Text) - произвольные текстовые данные. Изначально для комментариев, сейчас используется для верификации, SPF, DKIM, DMARC и других протоколов. Машины читают TXT не хуже людей.

**Лимит TXT:** Одна строка - до 255 символов. Для длинных данных (DKIM-ключи) используются несколько строк, которые конкатенируются. Общий лимит UDP-пакета - 512 байт, для больших ответов - TCP или EDNS.

TXT-записи только для людей (комментарии)

TXT активно используются машинами для SPF, DKIM, DMARC, верификации и других протоколов

Хотя TXT создавался для текстовых заметок, его гибкость сделала его универсальным хранилищем метаданных. Email без SPF/DKIM часто попадает в спам.

Для чего используется SPF в TXT-записи?

Ключевые идеи

  • **A** - IPv4 адрес; **AAAA** - IPv6 адрес
  • **CNAME** - алиас на другое имя (не на apex!)
  • **MX** - почтовые серверы с приоритетами
  • **TXT** - метаданные: SPF, DKIM, верификация

Связанные темы

Типы записей - часть большой экосистемы DNS:

  • DNS резолвинг — Как записи находятся и кешируются
  • NS записи — Делегирование зон и авторитетные серверы
  • DNSSEC — Криптографическая подпись записей

Вопросы для размышления

  • Почему нельзя поставить CNAME на apex домен (example.com)?
  • Как работает email, если у домена нет MX-записи?
  • Зачем нужны и A, и AAAA записи одновременно?

Связанные уроки

  • db-01-intro
DNS записи: A, AAAA, CNAME, MX

0

1

Войти