PermError SPF永久错误:无效查询限制超过2


13

我正在尝试在服务器上设置SPF-邮件可以正常工作,并且可以根据mxtoolbox和其他在线检查进行验证,但是当我使用http://www.kitterman.com/spf/validate.html对其进行检查时,出现错误消息:

PermError SPF Permanent Error: Void lookup limit of 2 exceeded

我知道最多只能进行10次查询,但之前从未见过此错误。

SPF记录为:

v=spf1 a mx ip4:IP1 ip4:IP2 ip6:IP3 include:spf-a.outlook.com 
include:spf-b.outlook.com include:spf-c.outlook.com 
include:spf.messaging.microsoft.com include:_spf.zdsys.com 
include:spf.mail.intercom.io -all 

无效查找限制指的是什么?

Answers:


13

无效查询限制是RFC 7208引入的,它指的是DNS查询,它们返回空响应(无应答的NOERROR)或NXDOMAIN响应。这是从10个DNS查找总数中得出的单独计数。

第11.1节末尾所述,在某些情况下,限制DNS查询返回答案计数为0的肯定答案(RCODE 0)或“名称错误”的“术语”数量很有用。 ”(RCODE 3)回答。这些有时统称为“无效查找”。SPF实现应将“无效查找”限制为两个。一个实现可以选择使这种限制是可配置的。在这种情况下,建议使用默认值2。超过限制会产生“错误”结果。

这旨在帮助防止错误或恶意的SPF记录导致基于DNS的拒绝服务攻击。

在您的情况下,有问题的部分似乎是:

include:spf.messaging.microsoft.com

其SPF记录为:

v=spf1 ptr:protection.outlook.com ptr:messaging.microsoft.com ptr:o365filtering.com -all

如果查找了所有这三个记录,则返回没有记录的NOERROR或NXDOMAIN。

由于三个记录未返回任何内容,因此您超出了无效查找限制2,并且SPF记录失败。


非常感谢,我检查并获得了Office 365的更新SPF记录,并使用后该错误已消失
bhttoan 2015年

很棒的信息。查找记录以查看记录返回的好方法是什么?我需要找出是我的问题所在。
mlissner

@mlissner您可以尝试许多在线SPF验证器网站。
迈克尔·汉普顿

我发现,至少在python-spf实现的情况下,执行的查找取决于要验证的IP地址,因此不返回记录的查询数会有所不同。由于域所有者无法控制需要验证哪些IP地址,因此,结果是SPF记录中的任何IP地址amx规范都必须仅指向双堆栈名称,以防止出现虚假错误。
kasperd
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.