【发布时间】:2015-08-21 14:53:31
【问题描述】:
我想知道其他人是否曾经发生过这种情况。我有一个域,其 DNS 由机架空间托管。当我配置 TXT (SPF) 记录时,我从不包含描述性文本的引号——大多数主机无论如何都不允许您输入它们。下面是我在 rackspace 上配置 SPF 记录时输入的字符串示例:
v=spf1 mx a include:_spf.google.com ~all
但是当我直接查询 rackspace 的 DNS 服务器时,我得到以下结果:
host -t txt example.tld
example.tld descriptive text "v=spf1 mx a include:_spf.google.com " "~all"
如果我查询另一个域的 TXT 记录,其 DNS 由 Network Solutions 托管,并且其 SPF 信息以完全相同的方式输入,我会得到以下结果:
host -t txt example.tld
example.tld descriptive text "v=spf1 mx a include:_spf.google.com ~all"
注意,描述性文本是一个连续的字符串,而不是前面结果中的两个。
我得到与 dig 相同的结果。我还不能确认这是否会导致任何问题(还),但这是我第一次看到描述性文本分成两个单独的双引号字符串。我已经询问了 rackspace 技术支持,他们已经确认他们看到的是同样的东西,但他们无法解释原因。此外,这并没有发生在几天前——我知道是因为我不得不将来自 rackspace 托管域之一的一些 TXT 查询结果粘贴到电子邮件中。我逐字粘贴。在发布之前,我检查了我发送的邮件中的消息,以确认它当时没有发生,或者它确实发生了,但我根本没有注意到——它没有。
有没有其他人见过这个?这还重要吗?提前致谢。
【问题讨论】:
-
好吧,至少有一种方法可以合理地发生。如果这是正在发生的事情,那不是问题。但是由于您隐藏了域,我无法检查是否是它。
-
有些 SPF 实现不能按应有的方式处理拆分的记录。这些实现只使用第一个字符串,如果字符串在机制中间被拆分,则可能导致PERMERROR。在您的情况下,这些实现将忽略“~all”,然后如果没有其他机制匹配,则很可能返回 NEUTRAL。
-
这真的很奇怪;当我将文本输入 Rackspace 的 DNS 管理器时,它没有被拆分、引用等。看起来表单或处理表单数据的脚本有问题。虽然它似乎没有引起任何问题,但我想最终找出是什么原因造成的。