В DNS может ли IN NS указывать на CNAME?

Разрешено ли иметь запись NS как CNAME? Например:

subdomain.example.com.       IN NS  ns1.example.com.
ns1.example.com.             CNAME  foo.example.com.
foo.example.com.             IN A   10.1.1.1

Это не работает в связке, хотя это (конечно):

subdomain.example.com.       IN NS  foo.example.com.
foo.example.com.             IN A   10.1.1.1

Будем благодарны за любые ссылки на RFC, запрещающие эту настройку.

1 ответ

Решение

Фактический RFC, который определяет NS RR ( RFC1035), просто говорит о том, что это доменное имя без указания типа RR цели (хотя оно и дает понять, что это не может быть IP). Тем не менее, в RFC1912 есть конкретное упоминание, раздел 2.4:

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

Не совсем НЕ ДОЛЖЕН, но, безусловно, соответствует поведению, которое вы видите

Другие вопросы по тегам