![MX 记录委托](https://linux22.com/image/747089/MX%20%E8%AE%B0%E5%BD%95%E5%A7%94%E6%89%98.png)
我有一个客户,他管理自己的 DNS - example.com 和一些子域的所有 A 记录和 CNAME 记录。
他们希望使用专用电子邮件子域名 - em.example.com。他们希望我的公司管理电子邮件 - 不仅仅是 MTA,还有 MX 记录和 SPF 记录。为此,他们希望使用 NS 记录将此子域名委托给我们。
原则上,我的公司对此感到满意 - 我们有能力更新 SPF 记录等,而无需对整个顶级域名负责 - 但我们遇到了一个问题,我们的注册商/DNS 提供商不支持它。他们不允许我们为未在他们那里注册的区域添加记录。
我该怎么做?我是否需要寻找新的提供商?还有谁建议其他选择吗?
答案1
您的客户可以设置一条CNAME
记录,em.example.com
指向您可以管理的域名,例如example.com.example.net
:
em.example.com. IN CNAME example.com.example.net.
为设置MX
和TXT
记录example.com.example.net
相当于为 设置em.example.com
。
根据MX
记录,这是使用CNAME
s 的唯一正确方法,因为反过来不行(MX
记录不能指向CNAME
),如这个答案。
但是,根据SPF
记录,您还有另一种解决方案:客户端可以发布如下记录:
em.example.com. IN TXT "v=spf1 include:example.com.example.net -all"
并且委托有效。显然这不能与第一个解决方案一起使用,因为具有记录的域CNAME
不能(几乎)具有任何其他记录。
答案2
由于 MX 记录指向 FQDN,而 SPF(TXT 类型)可以包含任何其他 SPF 记录,因此没有必要有子域(当然这不是问题)...
假设您的客户有域名 example.com,而您有域名 example.net。您希望将客户记录作为 FQDN mail.example.com.example.net 处理。
您的客户将创建(一次性)记录:
使用子域名(em)
em.example.com. IN MX 10 mail.example.com.example.net.
em.exmaple.com. IN TXT "v=spf1 include:mail.example.com.example.net -all"
无子域名
example.com. IN MX 10 mail.example.com.example.net.
exmaple.com. IN TXT "v=spf1 include:mail.example.com.example.net -all"
mail.example.com.example.net.
然后您可以使用 A 记录、SPF 和 TXT 记录来管理邮件系统位置mail.example.com.example.net.
。
这样,邮件解决方案实际上就委托给了您所在区域的 DNS 记录。因此,您可以获得如下结果:
mail.example.com.example.net. IN A 192.0.2.10
mail.exmaple.com.example.net. IN TXT "v=spf1 A -all"