无法找到记录

时间:2013-08-08 10:36:14

标签: dns spf phishing

问题:无法从域SPF Record (TXT)的DNS条目中检索到我的zwischengas.com 在我的DNS条目中,我有一行SPF记录(作为TXT条目):

@  IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22
ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24" "ip4:xyz ip4:xyz/22
ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28" "ip4:xyz/24 ip4:xyz/24 a mx
?all"

我有问题,这个SPF记录无法找到,我也不知道为什么。 根据RFC,建议将一个非常长的行分成多个字符串,以保持所有子字符串小于255个字符。

我的域名是zwischengas.com,邮件服务器的IP是188.a.b.c,有人知道吗?

我尝试了这些测试没有成功:

host -t txt zwischengas.com
spfquery -ip-address 188.a.b.c -m test@zwischengas.com -h zwischengas.com

使用在线工具进行的测试也没有成功:

Google Mail(gmail.com)也无法检索我的SPF记录(根据原始邮件标题部分):

Received-SPF: neutral (google.com: 188.a.b.c is neither permitted
nor denied by best guess record for domain of
noreply1@zwischengas.com) client-ip=188.a.b.c;

2 个答案:

答案 0 :(得分:6)

工作解决方案

您可以通过调用

来测试SPF记录的正确性
host -t txt myhost.com

简单的SPF记录可能如下所示:

@ IN TXT "v=spf1 ip4:244.11.23.13 a mx ?all"

如果您依次添加IP,则可能会收到来自DNS服务器的错误消息,说明该字符串太长。
对此有效的解决方案是将" "引入其中。

所以而不是

@  IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13 ip4:222.11.11.13 ip4:244.182.23.191 ip4:203.101.22.13 a mx ?all"

你会(例子):

@ IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13" " ip4:222.11.11.13 ip4:244.182.23.191" " ip4:203.101.22.13 a mx ?all"

" "选项在相应的RFC中描述,并且被所有DNS服务器接受(实际发生的是," "被删除,子串连接)。

但是如果你有20个IP怎么办?你最终得到的字符串远远超过允许的数量。你能做什么?

对此的解决方案称为:include

一个例子:

@ IN TXT "v=spf1 include:_spf1.myhost.com include:_spf2.myhost.com a mx ?all"
_spf1 IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13 a mx ?all"
_spf2 IN TXT "v=spf1 ip4:222.11.11.13 ip4:244.182.23.191 ip4:203.101.22.13 a mx ?all"

您可以使用N个层次结构扩展它。我希望这有帮助,因为我花了一些时间来找到它!!

答案 1 :(得分:0)

那是什么?“

@  IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22 ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24" "ip4:xyz ip4:xyz/22 ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28" "ip4:xyz/24 ip4:xyz/24 a mx ?all"

不应该只有一对“”,然后是:

@  IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22 ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24 ip4:xyz ip4:xyz/22 ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28 ip4:xyz/24 ip4:xyz/24 a mx ?all"