我继承了一个 TinyDNS 配置,其中包含以下条目防晒指数:
@domain.com:x.x.x.3:a::86400
@domain.com:x.x.x.103:c:10:86400
=domain.com:x.x.x.3:86400
=mail.domain.com:x.x.x.3:86400
=mail.domain.com:x.x.x.103:86400
'domain.com:v=spf1 ip4\072x.x.x.3 ip4\07231.130.96.103 ptr\072mail.domain.com +mx a -all:3600
'mail.domain.com:v=spf1 ip4\072x.x.x.3 ip4\072x.x.x.103 ptr\072mail.domain.com +mx a -all:3600
'a.mx.domain.com:v=spf1 ip4\072x.x.x.3 ip4\072x.x.x.103 ptr\072mail.domain.com +mx a -all:3600
这是http://www.kitterman.com/spf/validate.html
SPF record lookup and validation for: domain.com
SPF records are primarily published in DNS as TXT records.
The TXT records found for your domain are:
v=spf1 ip4:x.x.x.3 ip4:x.x.x.103 ptr:mail.domain.com +mx a -all
SPF records should also be published in DNS as type SPF records.
No type SPF records found.
Checking to see if there is a valid SPF record.
Found v=spf1 record for domain.com:
v=spf1 ip4:x.x.x.3 ip4:x.x.x.103 ptr:mail.domain.com +mx a -all
evaluating...
SPF record passed validation test with pySPF (Python SPF library)!
我从昨天开始就一直在努力解决这个问题,不明白为什么这个验证器会返回No type SPF records found.
我在 BIND 中看到的我们可以定义防晒指数类型记录example.com. IN SPF "v=spf1 a -all"
,但在 TinyDNS 中我们只有TXT我们创下的记录防晒指数,也许这是一个问题?
答案1
RR类型SPF
并非在所有 DNS 服务器实现中都可用,这就是 RFC 允许消费者回退到TXT
记录评估的原因。
如果 TinyDNS 没有SPF
记录类型,则您的配置就没问题。
答案2
您可以手动输入 tinydns 格式的 spf(类型 99)记录。诀窍是您必须以八进制格式包含数据的长度。
您可以使用向导http://anders.com/projects/sysadmin/djbdnsRecordBuilder/#SPF生成通用 txt(类型 12)记录,然后只需将 12 更改为 99 即可获得 SPF 记录。
以下是一个例子:
:example.com:99:\041v=spf1 ip4\072192.168.001.01/30 -all:3600
第一个 : 表示 example.com 的通用记录。99 指定记录类型 99。\041 是八进制数 33,即数据中的字符数。\072 是八进制数 :,将所有编码的八进制字符计为 1 个字符。
感谢 Robert Thille 的博文 -http://osdir.com/ml/mail.spam.spf.help/2006-12/msg00065.html