Назад | Перейти на главную страницу

Почему CNAME для корневого домена конфликтует с большинством других записей?

Насколько я понимаю, запись CNAME предназначена для извлечения только записи A ее места назначения. Например.:

www.example.com CNAME domain.com

Здесь преобразователь DNS будет искать запись A (IP-адрес) domain.com.

RFC не разрешает использовать запись CNAME для простого доменного имени, хотя технически это возможно. Как здесь:

example.com CNAME domain.com

example.com MX mail.example.com (MX в этом случае работать не будет)

Однако я до сих пор не понимаю, как эта запись конфликтует с другими записями, такими как MX, с технической точки зрения и почему, например, запись A не конфликтует. Думаю, я что-то упустил.

Между прочим, существуют записи CNAME Flattening, ANAME или ALIAS, реализация которых отличается от стандартной CNAME, и они не конфликтуют с другими записями.

Могли бы вы объяснить?

Запись типа:

alias.example.com. CNAME canonical.example.com.

означает, что все записи для alias должен быть получен из canonical. Если вы ищете aliasс MX запись, вы должны получить canonicalс MX запись вместо этого. Поэтому в основном все остальные записи для alias будут проигнорированы.

Это поведение семантическое, а не техническое. Вы все еще можете попросить aliasс MX запись, но сервер ответит CNAME запись вместо этого.

Исключением из приведенного выше правила является DNSSEC записи. An RRSET для alias не будет проигнорирован, поскольку он удостоверяет CNAME подлинность записи.