Domain IP Lookup

Записи, которые встретятся почти в каждой зоне

AИмя хоста → адрес IPv4
AAAAИмя хоста → адрес IPv6
CNAMEИмя хоста → другое имя хоста
MXДомен → почтовые серверы по приоритету
TXTДомен → произвольный текст: SPF, DKIM, верификация
NSДомен → серверы имён, отвечающие за него
Основы DNS

CNAME или A-запись: что выбрать?

3 мин чтения

Обе записи направляют имя хоста куда-то ещё. Разница в том, на что они указывают, и от этого зависит, кто отвечает за корректность конфигурации при смене IP-адреса.

A-записьCNAME-запись
Указывает наIP-адресДругое имя хоста
Пример93.184.216.34myapp.herokudns.com
Дополнительный запрос?Нет: это окончательный ответДа: нужно разрешить и целевое имя
Допустима в корне?ДаНет (см. ниже)
Другие записи рядом?ДаНет: должна быть единственной
Обновляется при смене IP?Нужно править вручнуюАвтоматически

Решение одним вопросом

Ключевой вывод

Вы управляете IP-адресом и знаете, что он не изменится? Используйте A-запись. Указываете на сервис, которым управляет кто-то другой? Используйте CNAME, чтобы смена его адресов вас не ломала.

Для большинства случаев это и есть всё решение. Остальная часть статьи посвящена деталям, на которых легко споткнуться.

Как разрешается CNAME

CNAME означает Canonical Name (каноническое имя). Запись говорит: это имя является псевдонимом, поищите вместо него другое.

CNAME и запись, к которой он в итоге приводит
shop.example.com.    3600    IN    CNAME    stores.myshopify.com.
stores.myshopify.com. 300    IN    A        23.227.38.65

Резолвер, запросивший shop.example.com, получает CNAME, затем разрешает stores.myshopify.com и возвращает 23.227.38.65. Два запроса вместо одного: это несколько миллисекунд, и почти всегда ответ берётся из кеша.

Преимущество в том, что когда Shopify переезжает на новый адрес, у себя они меняют одну A-запись, и ваш домен следует за ней автоматически. С A-записью вы были бы недоступны, пока сами не заметите проблему и не отредактируете запись.

Ограничение для корневого домена

Это самая частая претензия к DNS, и это правило протокола, а не ограничение вашего провайдера.

Поэтому хостинги, которые дают только имя хоста (myapp.herokuapp.com), создают проблему в корне домена. Выхода три:

  1. ALIAS / ANAME / CNAME flattening

    Многие DNS-провайдеры предлагают синтетический тип записи, который в корне ведёт себя как CNAME. Провайдер сам разрешает целевое имя и отдаёт полученный IP как обычную запись A, так что правило протокола не нарушается. Cloudflare называет это CNAME flattening, а Route 53 — alias-записью.

  2. Перенаправьте корень на www

    Направьте корень на небольшой сервис редиректа, а CNAME поставьте на www. Это просто и поддерживается везде, но посетителям приходится делать один лишний переход.

  3. Используйте A-запись и примите затраты на поддержку

    Если провайдер публикует стабильные IP-адреса и явно заявляет, что они статичны, A-запись в корне вполне допустима. Убедитесь, что он гарантирует стабильность: многие прямо отказываются это делать.

CNAME должна быть единственной

Если у имени есть CNAME, других записей быть не может: ни A, ни MX, ни TXT.

Недопустимо, так делать нельзя
mail.example.com.    IN    CNAME    ghs.googlehosted.com.
mail.example.com.    IN    TXT      "v=spf1 include:_spf.google.com ~all"

Одни провайдеры сразу отклоняют такую конфигурацию, а другие, что хуже, принимают её и ведут себя непредсказуемо. Если на имени нужна запись TXT, это имя не может быть CNAME.

Когда что подходит

A-запись подходит для

  • Корневого домена почти во всех случаях.
  • Сервера со статическим IP: VPS, выделенного сервера, зарезервированного облачного адреса.
  • Любых случаев, когда на том же имени нужны другие записи.
  • Целей MX, которые должны разрешаться в адреса.

CNAME подходит для

  • Поддоменов, указывающих на управляемую платформу (Shopify, Heroku, Netlify, Vercel).
  • www, указывающего на корень домена или на имя хоста вашего хостинга.
  • Поддоменов для подтверждения домена, которые просят создать провайдеры.
  • Всего, чем IP-адрес вы управлять не можете.

Проверяем, что у вас настроено

Узнать, является ли имя CNAME и куда оно ведёт
dig +short www.example.com CNAME
dig +short www.example.com A

Инструмент проверки показывает записи A, AAAA и CNAME для любого домена вместе, поэтому легко заметить имя, у которого есть и те и другие, хотя так быть не должно.

Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.

Бесплатные инструменты по этой теме

Часто задаваемые вопросы

Читайте также

Записи, которые встретятся почти в каждой зоне

AИмя хоста → адрес IPv4
AAAAИмя хоста → адрес IPv6
CNAMEИмя хоста → другое имя хоста
MXДомен → почтовые серверы по приоритету
TXTДомен → произвольный текст: SPF, DKIM, верификация
NSДомен → серверы имён, отвечающие за него
Основы DNS

Что такое DNS A-запись (и когда нужна AAAA)

Запись, которая на деле направляет ваш домен на сервер: её устройство, аналог AAAA и четыре ошибки, чаще всего ломающие сайты.

3 мин чтения

Записи, которые встретятся почти в каждой зоне

AИмя хоста → адрес IPv4
AAAAИмя хоста → адрес IPv6
CNAMEИмя хоста → другое имя хоста
MXДомен → почтовые серверы по приоритету
TXTДомен → произвольный текст: SPF, DKIM, верификация
NSДомен → серверы имён, отвечающие за него
Основы DNS

Типы DNS-записей: полный справочник

Каждый стоящий внимания тип записи: что он делает, как выглядит и какую ошибку с ним допускают чаще всего — на одной странице справочника.

4 мин чтения

Рекурсивный DNS-запрос: шаг за шагом

Браузер

нужен example.com

Резолвер

ваш провайдер / 1.1.1.1

Корень + TLD

кто отвечает за .com?

Авторитетный

настоящий ответ

Каждый шаг цепочки — тоже DNS-запрос, и его ответ потом кэшируется

Основы DNS

Что такое сервер имён: как работает делегирование домена

Единственная настройка, которая решает, какой провайдер управляет вашим DNS, и причина, по которой правки записей иногда не дают вообще никакого эффекта.

3 мин чтения