Я настроил службу хостинга, в рамках которой мне нужно автоматически создавать записи 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 по этим записям?
Нет ты не можешь
@ IN CNAME ...
поскольку CNAME
тип записи не может сосуществовать с (обязательно) SOA
и NS
записи, которые у вас должны быть на вершине зоны (или записи любого другого типа, если на то пошло, за исключением записей, связанных с DNSSEC).
См. S3.6.2 из RFC 1034:
Если на узле присутствует запись CNAME RR, других данных не должно быть; это гарантирует, что данные для канонического имени и его псевдонимов не могут отличаться. Это правило также гарантирует, что кэшированный CNAME может использоваться без проверки на полномочном сервере других типов RR.
Нет! Это не сработает, поскольку CNAME разрешает "domainname" в значении friend, и вы не можете установить IP-адрес своего сервера. Вы можете добавить 1 А запись для IP-адреса (* @ XXXX.XXXX.XXXX.XXXX) и добавить запись CNAME для www