DNS 记录 - CNAME

DNS 记录 - CNAME

新手,所以很抱歉有任何不相关的数据。我正在创建 DKIM 和 SPF 记录来模拟 DMARC 作为一种解决方法。我们的一个外部供应商想使用子域在我们的域下发送电子邮件。

我已将 TXT 记录配置为:

TXT    subdomain.domain.com     v=spf1 include:domain.com -all

TXT    subdomain.domain.com     "k=rsa; p=random_value"

我应该为他们创建两个 CNAME 记录吗?

CNAME     selector1._domainkey.subdomain.domain.com     
selector1-subdomain-domain-com._domainkey.domain.onmicrosoft.com

CNAME     selector2._domainkey.subdomain.domain.com
selector2-subdomain-accenture-com._domainkey.domain.onmicrosoft.com

我的问题是,TXT 属性如何与 CNAME 关联?selector1 或 selector2 可以是其中任何一个。

_domainkey值的原因是什么?

非常感谢

答案1

您是否应该为子域名创建两个 CNAME 记录?

是的,您需要创建两个 CNAME 记录才能使 DKIM 配置正常工作。每个 CNAME 记录将一个选择器名称映射到存储 DKIM 公钥的域名。这两个选择器通常命名为“selector1”和“selector2”,但您可以选择任何您喜欢的名称,只要它们在子域内是唯一的即可。

TXT 属性如何与 CNAME 记录关联?

TXT 记录与 DKIM 选择器相关联,而不是与 CNAME 记录相关联。您需要为每个 DKIM 选择器创建一条 TXT 记录,其中包含 DKIM 公钥值。在您的示例中,您需要创建两条 TXT 记录,如下所示:

TXT selector1._domainkey.subdomain.domain.com "k=rsa; p=random_value"
TXT selector2._domainkey.subdomain.domain.com "k=rsa; p=random_value"

“_domainkey”值的原因是什么?

“_domainkey”部分是 DKIM 规范中使用的标准前缀,用于标识包含给定选择器的公钥的 DNS 记录。DNS 记录的全名应采用“selector._domainkey.example.com”格式,其中“selector”是 DKIM 选择器的名称,“example.com”是电子邮件发件人的域名。按照惯例,“_domainkey”标签用于将选择器名称与域名分开,以避免与其他 DNS 记录发生任何可能的冲突。

更新:

以下是您可能为名为“subdomain.example.com”的子域创建的 DNS 记录示例,假设您有一个 DKIM 选择器和一个 SPF 策略

; DKIM records
selector1._domainkey.subdomain.example.com. IN CNAME selector1-subdomain-example-com._domainkey.example.onmicrosoft.com.
selector1-subdomain-example-com._domainkey.example.onmicrosoft.com. IN TXT "k=rsa; p=random_value"

; SPF record
subdomain.example.com. IN TXT "v=spf1 include:example.com -all"

在此示例中,第一行为 DKIM 选择器“selector1”创建 CNAME 记录。CNAME 指向存储 DKIM 公钥的域名,在本例中为“selector1-subdomain-example-com._domainkey.example.onmicrosoft.com”。第二行为 DKIM 公钥创建 TXT 记录,该记录与 DKIM 选择器“selector1”相关联。

第三行创建子域“subdomain.example.com”的 SPF 策略的 TXT 记录。SPF 记录语法指定电子邮件应从“example.com”SPF 策略中列出的主机发送。“-all”指令指定应拒绝任何未来自授权主机的电子邮件。

相关内容