(几乎)域中所有主机的自动MX条目

我为example.com运行一个DNS服务器,多个A / CNAMElogging指向不同的IP地址。

 @ IN A 198.51.100.1 a IN A 198.51.100.3 b IN CNAME a c IN A 203.0.113.12 

现在我想为顶层域( [email protected] )和该域内的所有主机( [email protected]mail.example.com )运行一个邮件服务器(例如mail.example.com[email protected]

我想像一样

 @ IN MX 10 mail * IN MX 10 mail mail IN A 203.0.113.25 

现在上面的主要领域的作品够好:

 $ dig mx example.com | grep MX ;example.com. IN MX example.com. IN MX 10 mail.example.com. $ 

但不适用于A / CNAMElogging:

 $ dig mx a.example.com | grep MX ;a.example.com. IN MX $ 

相反,通配符*是从字面上解释的:

 $ dig mx '*.example.com' | grep MX ;*.example.com. IN MX *.example.com. 604800 IN MX 10 mail.example.com. $ 

似乎要走的路是为每个主机在域内有一个MXlogging:

 @ IN MX 10 mail a IN MX 10 mail b IN MX 10 mail c IN MX 10 mail 

现在想象我在我的域中有数百个主机…为他们每个添加相同的MXlogging似乎是相当容易出错的。

有没有办法为一个域的所有A / CNAMElogging指定一个MX条目?

我知道serverfault类似的问题,例如MXlogging的SubDomains ,但答案似乎只处理的情况下,所有主机parsing到相同的IP地址,这是不是这里的情况。

 ;; I cannot use this! @ IN A 198.51.100.3 * IN CNAME @ 

奖金问题

如果有这种方法,是否也可以为特定logging指定MXlogging? 例如所有的主机都应该使用mail.example.com ,只有c.example.com应该使用mail.c.example.com

概要

总结一下,我想避免在我的域名中logging每个A / CNAMElogging的MXlogging。

例如,我想避免以下情况:

 @ IN A 198.51.100.1 @ IN MX 10 mail a IN A 198.51.100.3 a IN MX 10 mail b IN CNAME a b IN MX 10 mail c IN A 203.0.113.12 c IN MX 10 mail mail IN A 203.0.113.25 

通配符只适用于不存在任何types的RR的FQDN。 由于您有“a.example.com”的Alogging,任何RRtypes的通配符将永远不会匹配“a.example.com”。 听起来就像你已经在备用上了; 主要是手动生成每个logging或使用一些复杂的包含系统。

还有一点要提到的是,如果一个域没有MXlogging,但是有一个Alogging,那么邮件交换机应该尝试使用Alogging进行电子邮件服务。 所有主要的电子邮件软件,我见过这样做。