CNAME в порядке для основной записи DNS?

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

В настоящее время я использую следующий шаблон:

;
; [USER] - [DOMAIN]
;
$TTL    604800
@    IN    SOA    [PRIMARY-NS].    [NS-ADMIN]. (
                       [SERIAL] ; Serial
                           10800 ; Refresh
                            3600 ; Retry
                         1209600 ; Expire
                           43200 ; Negative Cache TTL
)
;
@    IN    NS    [NS1]. ; Nameserver
@    IN    NS    [NS2]. ; Nameserver
@    IN    A     [SERVER-IP] ; Primary IP
*    IN    A     [CATCH-ALL-IP] ; Catch-all IP
@    IN    MX    0 mail

Что меня интересует, так это то, что если я заменю основной оператор записи A CNAME на запись DNS этого сервера, будут ли какие-либо неблагоприятные последствия? Это значительно упростит управление IP на моих серверах, так как мне потребуется обновить только одну запись DNS.

@    IN    CNAME     [SERVER-DOMAIN-NAME]
*    IN    CNAME     [SERVER-DOMAIN-NAME]

Это хорошая идея? Или это только вызовет проблемы с поиском DNS на этих записях?

2 ответа

Решение

Нет нельзя

@ IN CNAME ...

поскольку CNAME тип записи не может сосуществовать с (обязательно) SOA а также NS записи, которые вы должны иметь на вершине своей зоны (или любой другой тип записи ресурса, в этом отношении, за исключением записей, связанных с DNSSEC).

См. S3.6.2 RFC 1034:

Если CNAME RR присутствует на узле, никакие другие данные не должны присутствовать; это гарантирует, что данные для канонического имени и его псевдонимов не могут быть разными. Это правило также гарантирует, что кэшированное CNAME можно использовать без проверки на доверенном сервере других типов RR.

Нет! Это не сработает, так как CNAME разрешит "доменное имя" в значении друг, и вы не можете установить с вашим сервером IP. Вы можете добавить 1 A запись для IP-адреса (* @ XXXX.XXXX.XXXX.XXXX) и добавить запись CNAME для www

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