TinyDNS 和 SPF 记录的正确设置

TinyDNS 和 SPF 记录的正确设置

我继承了一个 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

相关内容