CNAME запись в DNS


CNAME запись в DNS позволяет задавать алиасы — фактически реализуя перенаправление всех запросов одного домена другому домену. Настройка CNAME производится на NS сервере, на который делегирован домен или в панели управления компании, предоставляющей услуги хостинга DNS.



CNAME запись в DNS и настройка CNAME


CNAME — Canonical Name — запись задающая алиас. Рассмотрим принцип работы CNAME



При присутствии CNAME не будут учитываться никакие другие записи DNS.

host example.com


 example.com A 124.124.124.124
 example.com A 124.124.124.126
 example.com MX 124.124.124.124
 example.com CNAME example.ru


В приведенном примере записи типов A и MX не будут иметь силы. Причина в том, что задан алиас. При запросе к example.com и отсутствии в собственной базе необходимого значения DNS сервер будет запрашивать информацию у сервера стоящего выше в иерархии. CNAME отработает как переадресация, будет запрошена А-запись для example.ru, ее значение преобразуется IP адрес. Запросы пользователя будут направлены на полученный ip адрес.



Эту особенность CNAME всегда следует иметь в виду. Если добавлена CNAME запись другие DNS записи для имени работаеть не будут.



CNAME часто задается для поддоменов — например:

test.example.com CNAME example.ru



Запись этого вида используется при выпуске SSL сертификатов. Добавляя запись, которую предлагает добавить сертификационный центр, владелец домена подтверждает право управления им. Как в качестве имени в записи, так и в качестве домена, на который перенаправляются запросы в этом случае используются длинные технические имена.



CNAME как и любая другая запись проверяется при помощи запроса к серверу с использованием утилит host и dig


host -t cname  _d25ca42cb704f144b5bc80ee3e8be779.example.com

_d25ca42cb704f144b5bc80ee3e8be779.example.com is an alias for 5d9678c35b6f432c4dee7641b066194f.c8d5d2a8d1216b60b9eda8b312ee167a.comodoca.com.



При проверке с помощью host в выводе не всегда будет указано, что запись имеет тип CNAME. Может быть просто is an alias for.



Пример приведен на скриншоте:

cname запись в dns


На скриншоте видно, что для домена утилита host показала существование алиаса. Утилита dig в ANSWER SECTION показала, что существует CNAME запись в dns.



Читайте о том как проверять DNS записи с помощью утилит командной строки Linux.

Сказать спасибо
Categories: