CNAME 域名到另一个域名,但为两个域名保留不同的 SPF 记录?

CNAME 域名到另一个域名,但为两个域名保留不同的 SPF 记录?

设想:

  • 我的域名是主网站,我们使用 [电子邮件保护].mydomain.com DNS 已获得 SPF 记录"v=spf1 a mx ~all"

  • 我的域名只是 mydomain.com 的一个别名,但我们不会使用[电子邮件保护]。因此,mydomain.net DNS 有一个 SPF 记录, "v=spf1 -all"以确认所有不发送邮件的人

由于 mydomain.net 是 mydomain.com 的别名,所以我想在 DNS 中使用 CNAME,因此:

mydomain.net -> CNAME -> mydomain.com
www.mydomain.net -> CNAME -> mydomain.com

但通过这样做,我注意到在为 mydomain.net 测试 SPF 时使用这样的 DNS 工具返回的 SPF 是 mydomain.com 中的 SPF "v=spf1 a mx ~all",而不是我预期的"v=spf1 -all"

有没有办法通过仍然使用 CNAME 为两个域名使用不同的 SPF

答案1

CNAME 表示主机名与目标主机名完全相同全部记录类型。如果这不是您想要的,那么您就不能使用 CNAME。

您也不应该对域的根目录 (即 mydomain.net) 进行 CNAME,因为这意味着 mydomain.net 的 SOA 实际上是 mydomain.com 的 SOA。

答案2

从纯 DNS 的角度来看(即不了解 cPanel),您可以使用 mydomain.net 中的 DNAME 记录重定向到 mydomain.com。

在这种情况下,SPF 查询将返回相应域中的条目,但其他条目将被别名:

# zone file mydomain.net
mydomain.net. DNAME mydomain.com.
mydomain.net. SPF   "mydomain.net's SPF"

# zone file mydomain.com
mydomain.com. SPF   "mydomain.com's SPF"
someip   A      10.0.0.1

# dig mydomain.net spf
mydomain.net. SPF "mydomain.net's SPF"

# dig mydomain.com spf
mydomain.com. SPF "mydomain.com's SPF"

# dig someip.mydomain.net
someip.mydomain.com A 10.0.0.1

答案3

cPanel 实际上并未使用 CNAME;那将是一种无效配置。我不确定 DNS 服务器会如何响应它,但我怀疑它根本不起作用。BIND 确实倾向于直接拒绝无效数据。

几乎可以肯定的是,cPanel 软件在第二个域中设置了原始域中所有记录的副本。这肯定会“覆盖”您的 SPF 记录。

相关内容