我现在有一堆分布在各个 DNS 提供商上的域名,它们看起来都像这样:
@ TXT "v=spf1 a:spf.example.com -all"
目前这样就好了。但是,我想添加额外的允许传出服务器。通常我会选择将 a 更改为包含并使用 TXT/SPF 记录,但由于它们分布在许多提供商中,因此这将是一项非常繁琐的任务。
因此,最大的问题是:
添加多个相等的 A 记录时例如:
spf.example.com A 12.12.12.12
spf.example.com A 12.34.12.34
SPF 对此有何反应?
它是否只允许从 DNS 响应中获得的第一个条目,还是会接受同一主机名的所有 A 记录?
谢谢
答案1
您可以采用另一种方式来实现,类似于 Google Apps 的工作方式。
您在 example.com 域上设置 SPF 记录为
@ TXT "v=spf1 mx a -all"
然后在您想要允许邮件进入的域上
@ TXT "v=spf1 include:_spf.example.com"
这样,您就不必在每次添加不同的 IP 时都向 SPF 添加单独的 A 记录。
答案2
DNS 将使用两个 IP 地址进行回复。本地解析器的任务是随机为应用程序提供一个 IP 地址。因此,除非有人愚蠢地实施了 SPF 检查,否则您是安全的。检查不必调用gethostbyname()
主机,而是明确要求所有 A 记录。
这也写在SPF 规范:对 进行地址查找<target-name>
。 将<ip>
与返回的地址进行比较。 如果任何地址匹配,则机制匹配。