将 DNS 从 Route53 移动到 Cloudflare 后了解 TXT 记录

Understanding TXT records after moving DNS from Route53 to Cloudflare

我正在将现有网站的 DNS 记录从 Amazon Route53 移动到 Cloudflare,并将 AWS 负载均衡器引入其中。

当前架构

Route53 DNS --> EC2 Instance

新架构

Cloudflare DNS --> AWS Load Balancer --> EC2 Instance

在一些 DNS 记录中,有对分配给 AWS 实例的弹性 IP 的引用(如下所示为 11.22.33.44)。我之前没有设置记录。

TXT 记录#1

v=spf1 mx include:_SPF.google.com a:ec2-11-22-33-44.eu-west-1.compute.amazonaws.com include:servers.mcsv.net ~all

TXT 记录#2

include:spf.protection.outlook.com  include:spf.mandrillapp.com  ip4:11.22.33.44

我有几个问题:

  1. Cloudflare 代理或负载均衡器是否影响 TXT 记录中的现有 IP?我应该保持原样,对吗?
  2. 这些是否需要是两个单独的 TXT 记录?我可以将它们组合起来吗?如果可以,语句的顺序是否重要?

Does the Cloudflare proxy or the load balancer affect the existing IP in the TXT records? I should leave this as it is, right?

正确。这些不会影响服务器的 IP。

Do these need to be two separate TXT records? Can I combine them, and if so, does the order of the statements matter?

拥有多个 SPF 记录违反了 RFC。

Duplicate SPF TXT records. Another commonly violated aspect of SPF is that a domain may only have a single SPF record. That means you can only have a single DNS TXT record that begins with “v=spf1”.

https://www.socketlabs.com/blog/best-practices-sender-policy-framework-spf/

背景:

如您所知,这些是 SPF 邮件域验证记录。它们应该始终反映代表给定域发送电子邮件的任何邮件服务器的 IP 地址或域。

我要指出的是,由于您现在混合使用了一个负载均衡器,假设您有一些 Auto Scaling 组控制实例,如果实例 IP 编号被替换,它可能会随着时间的推移而改变。每次实例重新启动时,其 IP 地址都可能发生变化,具体取决于您的设置。这会使您的 SPF 记录失效,我们需要更新以维持正确的邮件投递。

出于这个原因,我建议您考虑将 AWS SES 用于出站电子邮件,无论您的实例 IP 更改如何,它始终是正确的。该服务提供固定的 MX 服务器名称,您可以在 SPF 记录中使用这些名称。