Запись CNAME также известна как запись канонического имени. Она используется для указания того, что доменное имя является псевдонимом для другого домена, «канонического» домена. Типичным примером является поддомен www, который часто задается в качестве псевдонима для корневого доменного имени.
Запись CNAME используется только для поддоменов. Вы не можете добавлять другие записи для данного имени хоста, если это имя хоста имеет запись CNAME. Также невозможно создать запись CNAME, если для этого имени хоста есть другие записи.
Хост | Тип | Ссылается на |
example.hostname.com | CNAME | example2.hostname.com |
Общие случаи использования
К наиболее популярным сценариям применения записи CNAME относятся следующие:
- Предоставление отдельного имени хоста для определенных служб, таких как электронная почта или FTP, и указание этого имени хоста на корневой домен.
- Регистрация одного и того же домена в нескольких странах и указание их версий на основной домен «.com».
- Указание нескольких веб-сайтов, принадлежащих одной организации, на основной веб-сайт.
Лучшие практики для записей CNAME
Следуя этим рекомендациям, вы обеспечите правильное функционирование записи CNAME:
- Во-первых, важно всегда проверять целевое имя хоста на хосте, которому оно принадлежит. При ссылке на внешнее доменное имя убедитесь, что оно по-прежнему активно и указывает на нужный ресурс.
- Во-вторых, обязательно установите правильное значение TTL (Time to live) для записи CNAME. Это поможет убедиться, что другие DNS-серверы знают о любых изменениях, которые вы вносите в запись CNAME. Как правило, TTL от 30 минут до часа считается хорошим значением для большинства записей CNAME.
- Наконец, убедитесь в отсутствии вложенных записей CNAME. Если запись CNAME указывает на другую запись CNAME, запрос DNS в конечном итоге завершится с ошибкой. Поэтому все записи CNAME должны указывать на IP-адрес или другое имя хоста.
Соблюдение этих правил поможет обеспечить правильную настройку записей CNAME и бесперебойное разрешение запросов к доменным именам.
Ограничения
Вот несколько важных ограничений, о которых вы должны знать:
- Запись CNAME может указывать на другое имя хоста и не может указывать на IP-адрес напрямую.
- Согласно RFC 1912 2.4, запись CNAME не может сосуществовать с любыми другими данными для того же хоста.
- Запись CNAME не может быть размещена для корневого домена.
- Указание CNAME на другой CNAME считается плохой практикой и не рекомендуется, так как это неэффективно.
Запись CNAME в сравнении с записью A
Записи A и CNAME - это две наиболее часто используемые записи, и иногда можно легко запутаться, когда использовать A, а когда CNAME. С помощью записи A имя хоста преобразуется в соответствующий IP-адрес. С другой стороны, записи CNAME сопоставляют имя вашего хоста с другим именем хоста.
Запись CNAME в сравнении с записью ALIAS
Запись CNAME сопоставляет имя с другим именем, и ее следует использовать только в том случае, если для этого имени нет других записей. Запись ALIAS также сопоставляет имя с другим именем, но может сосуществовать с другими записями в этом имени. Записи ALIAS могут быть добавлены и для корневого домена.
Запись CNAME в сравнении с записью TXT
TXT-записи и CNAME-записи выполняют разные функции DNS. Если TXT-записи используются для хранения текстовых данных, таких как описание домена или строка символов, то CNAME-записи используются для сопоставления доменного имени или поддомена с другим именем хоста. Это позволяет легко перенаправлять на новый хост без изменения существующих записей. Кроме того, TXT-записи стали популярны для обеспечения соответствия требованиям стандарта Domain-based Message Authentication, Reporting, and Conformance (DMARC) для защиты доменов от вредоносных действий, таких как фишинг и спуфинг.
DKIM и CNAME
Настройка записей DKIM часто предполагает создание записей CNAME, особенно при использовании почтовых служб сторонних производителей. Эти службы обычно требуют записи CNAME для проверки домена и настройки DKIM для обеспечения подлинности и целостности почтовых сообщений.
Пример интеграции:
- Проверка домена: Чтобы проверить принадлежность домена, сторонняя служба электронной почты может попросить вас добавить запись CNAME в настройки DNS. Эта запись CNAME указывает на определенную цель, предоставленную службой, подтверждая, что вы контролируете домен.
- Конфигурация DKIM: Затем служба предоставляет открытый ключ DKIM в виде записи CNAME. Эта запись CNAME направляет DNS-запросы к инфраструктуре открытого ключа DKIM службы. Например, вместо того чтобы добавлять длинную TXT-запись с DKIM-ключом напрямую, вы добавляете CNAME-запись типа selector1._domainkey.yourdomain.com, указывающую на dkim.serviceprovider.com. Такая настройка гарантирует, что открытый ключ всегда актуален и управляется централизованно поставщиком услуг электронной почты.
Как проверить мою запись CNAME?
Вы можете проверить свои записи CNAME с помощью следующих команд DIG, Nslookup и Host:
1 | dig CNAME hostname.example.com |
1 | nslookup -type=CNAME hostname.example.com |
1 | host hostname.example.com |
Что такое сглаживание CNAME?
Сглаживание CNAME - это техника DNS, которая улучшает разрешение записей CNAME, предварительно разрешая их до конечных IP-адресов. Вместо того чтобы выполнять многократный поиск по цепочке записей CNAME до записи A или AAAA, поставщик DNS возвращает IP-адрес напрямую. Это уменьшает задержки и ускоряет процесс разрешения DNS, что приводит к ускорению загрузки сайтов и повышению производительности.
Этот метод особенно полезен для корневых доменов (apex-доменов), где традиционные записи CNAME использовать нельзя. В ClouDNS этот процесс реализован с помощью записей ALIAS. Используя сглаживание CNAME или записи ALIAS, владельцы доменов могут добиться более эффективного и надежного управления DNS, обеспечивая более быстрый доступ и высокую надежность своих онлайн-сервисов.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Каково основное назначение записи CNAME?
Ответ: В двух словах, это перенаправление с поддоменов вашего домена на другие домены/поддомены.
Почему для корневого домена не может быть записи CNAME?
Ответ: Согласно RFC 1912 2.4, запись CNAME не должна сосуществовать с какими-либо другими данными. А поскольку для корневого домена существуют другие данные (например, записи SOA, NS и т. д.), запись CNAME не может быть добавлена для корня. Для таких случаев мы рекомендуем использовать запись ALIAS, которая является заменой CNAME и может сосуществовать с другими данными (ее можно создать для корневого домена).
Могу ли я использовать более одной записи CNAME для одного хоста?
Ответ: Нет, по той же причине, которую мы указали выше, на одном хосте может быть только одна запись CNAME.
Можно ли использовать записи CNAME для указания на IP-адрес?
Ответ: Нет, записи CNAME могут указывать только на имя хоста или другую запись CNAME.
Как часто я могу изменять запись CNAME?
Ответ: Записи CNAME можно изменять так часто, как это необходимо, но следует помнить, что изменения могут распространяться по DNS-серверам в течение некоторого времени из-за механизмов кэширования и настроек TTL.
Сколько времени требуется для того, чтобы изменения в записи CNAME вступили в силу?
Ответ: Время распространения DNS варьируется, но обычно изменения в записях CNAME распространяются по DNS-серверам в глобальном масштабе в течение от нескольких минут до 48 часов. На этот срок влияет значение Time-to-Live (TTL), связанное с записью.