Начиная работу с онлайн-ресурсом, каждый сталкивается с настройкой записей DNS. О том, как работает Domain Name System мы уже рассказывали, но сегодня на повестке дня одна из важных записей - CNAME. Она похожа на другие записи, но все же имеет значительные отличия.
DNS - это, простыми словамии, система доменых имен, где храняться все записи соответствия доменов и IP-адресов, а также другие записи, которые позволяют более эффективно работать сайтам.
Запись CNAME, или запись канонического имени - это запись в системе доменных имен, используемая для сопоставления одного доменного имени к другому. Другими словами, канонического имени (canonical name (cname)) и псевдонимов.
CNAME - это запись в формате:
blog.mydomain.com CNAME mydomain.com
Ответ на запрос канонического имени может выглядеть так:
blog.mydomain.com canonical name = mydomain.com
CNAME запись имеет особеность, которая заключается в том, что домен (поддомен) ссылается на другой домен, а не непосредственно на IP-адрес. А вот каноническое имя ссылается именно на IP и это представляется в виде A записи.
Домен (поддомен) |
Тип записи в DNS |
Назначение |
mydomain.com |
A |
3.3.3.3 |
www.mydomain.com |
CNAME |
mydomain.com |
blog.mydomain.com |
CNAME |
mydomain.com |
ftp.mydomain.com |
CNAME |
mydomain.com |
Записи CNAME позволяют легко запускать несколько служб (например, ftp или mail) с одного IP-адреса. Если IP-адрес изменится, достаточно внести изменения лишь в запись A, а не в каждую запись CNAME.
Можно также встретить записи ANAME и DNAME. ANAME, по-другому также ALIAS, является альтернативой CNAME со своими преимуществами. Запись DNAME обеспечивает перенаправление из одной части дерева имен DNS в другую часть дерева имен DNS (например, если необходимо сделать перенаправление из одной зоны в другую: из старой версии mydomain.com в новую mydomain.org).
Когда вы вводите в адресную строку blog.mydomain.com DNS-сервер начинает поиск соответсвующей записи А. После обнаружения записи CNAME запрос перезапускается и вместо первоначального доменного имени используется каноническое. Так происходит, поскольку blog.mydomain.com является поддоменом mydomain.com. В итоге будет найден необходимый IP-адрес через запись А домена mydomain.com.
Запрос может быть задан таким образом, чтобы клиент DNS искал именно записи CNAME. В таком случае пользователю вернется не IP-адрес, а каноническое имя.
Варианты использования записи CNAME (канонического имени) различны и не исчерпываются данным списком:
Прописывая запись CNAME стоит учитывать следующие ограничения:
Перейдем к созданию записи канонического имени. Для этого достаточно следовать шагам:
Напомним, что прежде чем внесенные изменения и новые записи вступят в силу, может пройти до 72 часов.
На просторах Интернета можно найти сервисы CNAME Lookup. Данные сервисы, после ввода доменного имени, выдадут полный список записей CNAME в порядке приоритета. Поскольку поиск осуществляется на авторитетном сервере имен домена, изменения в записях будут отображаться мгновенно.
Некоторые инструменты позволяют посмотреть не только CNAME и найти поддомены сайта, но и увидеть другие записи:
Другой способ - использовать приложение nslookup, которое доступно в Windows, Apple Mac и Linux.
Итак, чтобы проверить CNAME запись в MacOS или Linux запустите терминал. В ОС Windows необходимо запустить командную строку (нажмите Пуск → Выполнить, введите cmd и нажмите Enter).
Затем введите команду, указав желаемый домен
nslookup -q=cname blog.mydomain.com
Приложение выдаст вам ответ:
Server: 3.3.3.3
Address: 3.3.3.3#73
Non-authoritative answer:
blog.mydomain.com canonical name = mydomain.com.
То есть blog.mydomain.com указывает на каноническое имя mydomain.com.
В системе доменных имен записи CNAME, A и ALIAS похожи, но следует знать их ключевые отличия. С каждым типом записей владельцы сайтов или иных онлайн-проектов сталкиваются во время начала работы с доменными именами.
A запись используется для сопоставления корневого домена и IP-адреса. Это и есть главное отличие, ведь в записи CNAME сопоставление может быть только с другим доменным именем (корневым доменом, или каноническим именем). Для поддоменов, для которых созданы записи CNAME, не могут иметь записи А.
Также, как и запись CNAME, запись ALIAS сопоставляет одно доменное имя другому. Однако CNAME не допускает добавления других ресурсных записей. В случае с ALIAS это возможно. Также запрос ALIAS сразу же возвращает IP-адрес, без посредничества с другим доменным именем, что сокращает время обработки запроса
Редирект и CNAME не имеют прямой связи. Для создания редиректа необходимо настроить именно сервер таким образом, чтобы на определенный HTTP-запрос он выдавал конкретный ответ. CNAME этого гарантировать не может.