假设我有一个具有以下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,但是当我testing它:
~# 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通配符logging,而不是MX。
从阅读我在网上find的各种东西,在我看来,这种行为是通过devise(但可能是braindead)。
现在我的问题是,如果有可能有这样的configuration返回基于loggingtypes不同的anserws?
谢谢。
混合不同types的通配符RR是完全可能的。
你不能做的是混合一个CNAME RR与任何其他types的RR(DNSSEC RRs例外)。 这适用于RR是否通配。
在你的情况下,你需要做的是用A RRreplaceCNAME RR,指向与主域相同的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