запись CNAME

редактировать
Тип записи ресурса в системе доменных имен (DNS)

A Запись канонического имени (сокращенно запись CNAME ) - это тип ресурса запись в системе доменных имен (DNS), которая сопоставляет одно доменное имя (псевдоним) другому (каноническое имя).

Это может доказать удобно при запуске нескольких служб (например, FTP-сервер и веб-сервер, каждый из которых работает на разных портах) с одного IP-адреса. Например, можно указать ftp.example.com и www.example.com на запись DNS для example.com, которая, в свою очередь, имеет запись A, которая указывает на IP-адрес. Затем, если IP-адрес когда-либо изменится, нужно будет записать изменение только в одном месте в сети: в записи A DNS для example.com.

Записи CNAME всегда должны указывать на другое доменное имя, а не напрямую на IP-адрес.

Содержание
  • 1 Подробности
    • 1.1 Возможная путаница
    • 1.2 Ограничения
  • 2 Запись DNAME
  • 3 Запись ANAME
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Подробности

Записи DNS CNAME указаны в RFC 1034 и разъяснены в разделе 10 RFC 2181.

Записи CNAME обрабатываются специально в системе доменных имен и имеют несколько ограничений на их использование. Когда преобразователь DNS обнаруживает запись CNAME при поиске обычной записи ресурса, он перезапускает запрос, используя каноническое имя вместо исходного имени. (Если преобразователю специально сказано искать записи CNAME, вместо перезапуска запроса возвращается каноническое имя (правая сторона).) Каноническое имя, на которое указывает запись CNAME, может находиться в любом месте DNS, независимо от того, является ли оно локальным. или на удаленном сервере в другой зоне DNS.

Например, если существует зона DNS следующим образом:

ИМЯ ТИП ЗНАЧЕНИЕ ------------- ------------------------------------- bar.example.com. CNAME foo.example.com. foo.example.com. 192.0.2.23

, когда выполняется поиск записи A для bar.example.com, преобразователь увидит запись CNAME и перезапустит проверку на foo.example.com и будет затем верните 192.0.2.23.

Возможная путаница

В записи CNAME можно указать имя, такое как bar.example.com, на foo.example.com. Из-за этого во время случайного обсуждения bar.example.com. (левая) часть записи DNS может быть ошибочно идентифицирована как «CNAME» или «CNAME». Однако это неточно. Каноническое (истинное) имя bar.example.com. это "foo.example.com". Поскольку CNAME расшифровывается как Canonical Name, правая часть - это собственно CNAME.

Эта путаница конкретно упоминается в RFC 2181, «Разъяснения к спецификации DNS». Левая метка - это псевдоним для правой части (часть RDATA), которая является (или должна быть) каноническим именем. Другими словами, запись CNAME выглядит так:

bar.example.com. CNAME foo.example.com.

можно читать как:. bar.example.com - это псевдоним канонического имени (CNAME) foo.example.com. Клиент запросит bar.example.com, и ответ будет foo.example.com.

Ограничения

  • Записи CNAME должны всегда указывать на другое доменное имя, а не на IP-адрес.
  • Если запись CNAME присутствует на узле, никакие другие данные не должны присутствовать; это гарантирует, что данные для канонического имени и его псевдонимов не могут отличаться. (RFC 1034 раздел 3.6.2, RFC 1912 раздел 2.4) Исключение составляют случаи, когда используется DNSSEC, и в этом случае могут быть записи, связанные с DNSSEC, например как RRSIG, NSEC и т. д. (RFC 2181 раздел 10.1)
  • Записи CNAME, которые указывают на другие записи CNAME, следует избегать из-за их недостаточной эффективности, но это не ошибка. Таким образом, можно создавать неразрешимые циклы с записями CNAME, например:
    foo.example.com. CNAME bar.example.com. bar.example.com. CNAME foo.example.com.
  • Записи CNAME, которые обслуживаются записями DNAME, могут вызывать рекурсивные циклы в старых преобразователях.
  • Записи MX и NS никогда не должны указывать на псевдоним CNAME (RFC 2181 раздел 10.3). Так, например, зона должна, а не содержать такие конструкции, как:
    example.com. MX 0 foo.example.com. foo.example.com. CNAME host.example.com. host.example.com. A 192.0.2.1
  • Домены, которые используются в командах SMTP MAIL и RCPT, могут не иметь записи CNAME. На практике это может работать, но может иметь различное поведение с разными почтовыми серверами и может иметь нежелательные эффекты.
Запись DNAME

A Запись DNAME или Запись имени делегирования определяется как RFC 6672 (исходный RFC 2672 теперь устарел). Запись DNAME создает псевдоним для всего поддерева дерева доменных имен. Напротив, запись CNAME создает псевдоним для одного имени, а не для его поддоменов. Как и запись CNAME, поиск в DNS продолжится повторной попыткой поиска с новым именем. Сервер имен синтезирует запись CNAME, чтобы фактически применить запись DNAME к запрошенному имени - CNAME для каждого узла в поддереве имеет тот же эффект, что и DNAME для всего поддерева.

Например, если существует зона DNS следующим образом:

foo.example.com. ИМЯ bar.example.com. bar.example.com. 192.0.2.23 xyzzy.bar.example.com. 192.0.2.24 *.bar.example.com. A 192.0.2.25

Поиск записи A для foo.example.com не вернет никаких данных, потому что DNAME не является CNAME и нет A-записи непосредственно в foo.

Однако поиск для xyzzy. foo .example.com будет отображен с именем DNAME и вернет запись A для xyzzy. bar . example.com, то есть 192.0.2.24; если бы запись DNAME была записью CNAME, этот запрос возвратил бы имя not found.

Наконец, запрос для foobar.foo.example.com будет отображен DNAME и вернет 192.0.2.25.

Запись ANAME

Несколько управляемых платформ DNS реализуют нестандартный тип записи ALIAS или ANAME. Эти псевдозаписи управляются администраторами DNS, такими как записи CNAME, но публикуются и разрешаются (некоторыми) клиентами DNS, такими как записи A. Записи ANAME обычно настроены так, чтобы указывать на другой домен, но при запросе клиента отвечают с IP-адресом. Типы записей ANAME проходят стандартизацию, но, вероятно, существует множество несоответствующих реализаций, поэтому они могут делать все, что выберет владелец платформы DNS, включая существующие на вершине зоны и существующие для доменов, получающих почту. Одним из возможных преимуществ записей ANAME перед записями CNAME является скорость; клиенту DNS требуется как минимум два запроса для преобразования CNAME в запись A в IP-адрес, в то время как для преобразования ANAME в IP-адрес необходим только один запрос. Предполагается, что DNS-сервер может разрешить A-запись и кэшировать запрошенный IP-адрес более эффективно и с меньшей задержкой, чем его DNS-клиенты. Тип записи ANAME в настоящее время является предварительным стандартом, рассматриваемым IETF.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-13 11:26:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте