我为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
/ CNAME
logging的MX
logging。
例如,我想避免以下情况:
@ 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进行电子邮件服务。 所有主要的电子邮件软件,我见过这样做。