
Система доменных имен (DNS) позволяет осуществлять серфинг во Всемирной паутине в том виде, в котором мы его знаем: Пользователь вводит доменное имя в виде URL-адреса, чтобы попасть на нужный веб-сайт. Однако фактическое взаимодействие происходит через индивидуальный IP-адрес. DNS основан на записях файла зоны. Для фактического разрешения имен используются важные типы записей A и AAAA.
Существует множество различных типов записей. В нашей полной статье о записях DNS мы не только объясняем основные характеристики записей, но и приводим диаграмму, обобщающую все различные типы.
Однако IP-адрес не всегда связан с одним доменным именем. Несколько имен могут ссылаться на один и тот же IP-адрес. Для этого в DNS используются записи CNAME.
Что такое записи CNAME?
DNS основана на децентрализованной, организованной сети серверов. Серверы имен управляют определенными зонами и для этого имеют в своем распоряжении файлы зон. Это простые текстовые файлы, в которых построчно перечислены различные записи DNS. Записи бывают разных типов. Чтобы связать доменные имена с адресом IPv4, необходимо выбрать запись типа A. С помощью типа CNAME доменное имя связывается с псевдонимом — т.е. другим именем, под которым можно получить то же предложение.
Реальным именем является то, которое связано с IP-адресом в записи A. Преимущество в том, что если IP-адрес изменится, вам нужно будет только внести изменения в запись A. Поскольку все псевдонимы в свою очередь ссылаются на эту запись типа A (или запись типа AAAA), записи CNAME немедленно корректируются в то же время.
Обозначение CNAME является производным от «канонического имени» — имени, считающегося стандартом. По этой причине это обозначение также несколько запутанно, поскольку запись устанавливает даже не «фактическое» доменное имя, а скорее его псевдоним.
Синтаксис CNAME
Записи DNS имеют стандартный синтаксис с различными полями:
- <имя>: В первом поле указывается псевдоним домена.
- <ttl>: «Время жизни» — это термин, обозначающий время, в течение которого запись может находиться в кэше, прежде чем информация будет запрошена снова.
- <class>: Поле class является необязательным и определяет тип сети, для которой действительна данная запись.
- <type>: Это поле определяет тип записи — в данном случае CNAME.
- <rdata>: Последнее поле содержит информацию, на которую фактически ссылается запись. В данном случае это фактическое доменное имя.
Поля разделяются пробелами и располагаются в строке.
<name> <ttl> <class> <type> <rdata>
Время жизни (TTL) определяет срок действия информации. Провайдер гарантирует, что данные корректны в течение этого периода времени и по этой причине могут оставаться в кэше. Если время истекает, информация должна быть снова вызвана с сервера. На практике, однако, это поле лишь изредка появляется в отдельных записях. Вместо этого TTL определяется глобально для всей зоны. Затем отдельные записи принимают это значение.
Сегодня необязательное поле для класса имеет лишь историческое значение: Пока DNS разрабатывался, сети Hesiod (HS) и Chaosnet (CH) — обе уже не существуют — первоначально были возможны. Теперь остался только Интернет. Поэтому в этом месте либо встречается аббревиатура IN, либо поле полностью опущено.
Имена в записях DNS всегда указываются в формате полностью определенных доменных имен (FQDN). Это означает, что спецификация заканчивается точкой. Причина этого заключается в том, что FQDN следуют полному пути домена — а он начинается (крайний справа) с корневого сервера. Поскольку соответствующее поле пустое, остается только точка, отделяющая компоненты друг от друга.
Запись CNAME всегда должна ссылаться на другой домен. Недопустимо вместо этого вставлять IP-адрес. Более того, недопустимо использовать определенный псевдоним в других типах записей. Также не рекомендуется разрешать записи CNAME ссылаться на другую запись CNAME. Хотя это и не приводит к ошибке, но делает файл зоны излишне сложным.
Пример CNAME
На практике запись CNAME выглядит следующим образом:
www.example.net. CNAME www.example.com.
Для того чтобы ссылка работала через CNAME, в файле зоны также должны присутствовать записи A и/или AAAA.
$TTL 11107
www.example.com. IN A 93.184.216.34
www.example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946
www.example.net. IN CNAME www.example.com.
www.example.org. IN CNAME www.example.com.
Обе записи CNAME ссылаются на запись A и/или AAAA. Время жизни установлено глобально для всей зоны (представлено знаком доллара) в 11 107 секунд, что в сумме составляет более трех часов.
Проверка CNAME: Как найти запись CNAME
Если вы хотите узнать CNAME-запись сайта, вы можете обратиться к специальному программному обеспечению или просто использовать для этого веб-сервис. С помощью Public DNS компания Google предоставляет отдельный DNS-сервер, который можно использовать для доступа к различным DNS-записям веб-сайтов.
На сайте Public DNS вы вводите нужный домен, CNAME которого вы хотите проверить. На следующей странице необходимо изменить тип RR (по умолчанию он установлен на A) на запись CNAME; затем нужно снова нажать на кнопку resolve, чтобы получить результат.
Обе настройки для подсети клиента EDNS и DNSSEC могут оставаться неизменными. Первый представляет собой механизм, который должен фиксировать местоположение запрашивающего и таким образом выдавать более эффективные результаты — в настоящее время, однако, его продвигают только Google и OpenDNS. DNSSEC, с другой стороны, гарантирует пользователю, что информацией не манипулировала третья сторона, которая могла незаметно перехватить сообщение.
