Вопрос: Разрешено ли CNAME для CNAME-цепи?


Разрешено ли в DNS иметь запись CNAME, указывающую на другую запись CNAME?

Причина, по которой мы нуждаемся в этом, состоит в том, что у нас есть имя хоста, которое мы хотим найти на IP-адресе нашего компьютера веб-сервера. У нас также есть другой компьютерный стенд для веб-серверов, который может быть активирован, если первый умрет. В таком случае нам быстро нужно указать имя хоста на IP-адрес стойки на компьютере веб-сервера.

К сожалению, имя хоста находится в домене DNS, где любое изменение может занять много времени из-за ручной работы, зависящей от других системных администраторов. Но у нас есть еще один домен DNS, где мы можем быстро выполнить изменения. Наличие CNAME в цепочке CNAME кажется возможным решением. Но разрешено ли это? Поймут ли веб-браузеры?


60
2017-09-09 07:18


Источник




Ответы:


Из RFC 1034 - Доменные имена - концепции и возможности:

Of course, by the robustness principle, domain software should not fail 
when presented with CNAME chains or loops; CNAME chains should be followed 
and CNAME loops signalled as an error.

Так что да, это разрешено, и правильно написанное программное обеспечение будет обрабатывать его только ОК. Цепочки CNAME не считаются надлежащей практикой и налагают накладные расходы на инфраструктуру.


70
2017-09-09 07:37



+1 для ссылки RFC - Alnitak
Хотя я делаю это все время, цитата выше не соответствует контексту. Чуть выше этого абзаца он читает. Domain names in RRs which point at another name should always point at the primary name and not the alias. This avoids extra indirections in accessing information. - Molomby
Упоминается сетевой партнер Microsoft Azure, Привязка CNAME важна для балансировки загрузки AnyCast для них. - Paul Lan


Конечно, это возможно.

Это вообще обескураженный хотя по той очевидной причине, что он использует больше ресурсов DNS. Например:

foo   IN      CNAME  someserver.somehost.com.
bar   IN      CNAME  foo

Запрос «bar» приведет к CNAME foo будучи запрошенным, то someserver.somehost.com. в результате чего возникает один дополнительный запрос.

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

Еще одна причина это обескураживает то, что, создавая такие цепи, шансы, что вы каким-то образом создадите CNAME петли увеличиваются; они должны автоматически определяться текущими DNS-серверами, но все равно будут налагать большую нагрузку на серверы.


23
2017-09-09 07:35





Да, это разрешено и будет работать, но это не считается хорошей практикой. Многократные поисковые запросы используют больше ресурсов, и существует риск случайного создания цикла.


4
2017-09-09 07:31