
Предположим, у меня есть домен со следующими RR:
domain.com. IN A 1.2.3.4
domain.com. IN MX mail.domain.com. 10
* IN MX othermail.domain.com. 10
* IN CNAME domain.com.
mail IN A 1.2.3.4
Я надеялся, что это позволит мне обслуживать веб-страницы и получать почту на любом поддомене domain.com, но когда я это проверил:
~# dig blah.domain.com MX
; <<>> DiG 9.4.3-P1 <<>> blah.domain.com MX
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12815
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
<..snip..>
;; ANSWER SECTION:
blah.domain.com. 84770 IN CNAME domain.com.
domain.com. 83445 IN MX 10 mail.domain.com.
Я ожидаю получить ответ примерно такого вида:
;; ANSWER SECTION:
blah.domain.com. 84770 IN MX 10 othermail.domain.com.
Но, похоже, я получаю запись CNAME wildcard вместо MX.
Прочитав разные материалы, которые я нашел в Интернете, мне кажется, что такое поведение является намеренным (каким бы безмозглым оно ни было).
Теперь мой вопрос: возможно ли каким-либо образом сделать так, чтобы такая конфигурация возвращала разные ответы в зависимости от типа записи?
Спасибо.
решение1
Вполне возможно смешивать wildcard RR разных типов.
Что тыне мочьсделать, это смешать CNAME RR с любым другим видом RR (за исключением DNSSEC RR). Это применимо независимо от того, являются ли RR подстановочными или нет.
В вашем случае вам нужно заменить запись ресурса CNAME на запись ресурса A, указывающую на тот же IP-адрес, что и основной домен:
$ORIGIN example.com
@ IN A 1.2.3.4
IN MX 10 mail
* IN A 1.2.3.4
IN MX 10 othermail
mail IN A 1.2.3.4
othermail IN A 5.6.7.8