我正在为我的域名设置 DKIM 以签署外发邮件。
我在 DNS 配置方面遇到了一些问题,因为 DNS 配置混合了外部 DNS(托管)和发送电子邮件的云服务器。
云服务器IP:(85.95.211.100
假的)
外部 DNS
@ A 85.95.211.100
www A 85.95.211.100
_domainkey NS 85.95.211.100
我已添加_domainkey
NS 记录来使用服务器 DNS 区域进行解析。
foo.it
云服务器中的区域
$ttl 600
foo.it. IN SOA vm1613.cs17.providername.it. support.foo.it. (
1369844294
600
600
600
600 )
foo.it. IN NS vm1613.cs17.providername.it.
201305._domainkey IN TXT "v=DKIM1; k=rsa; t=y; p=[long key]" ; ----- DKIM key 201305 for foo.it
(由 改为201305._domainkey.deebate.it.
感谢201305._domainkey
@Gnouc)
现在,当我使用 +trace 挖掘时,我得到:
root@vm1613:~# dig 201305._domainkey.foo.it txt +short +trace
NS a.root-servers.net. from server 8.8.8.8 in 30 ms.
NS b.root-servers.net. from server 8.8.8.8 in 30 ms.
NS c.root-servers.net. from server 8.8.8.8 in 30 ms.
NS d.root-servers.net. from server 8.8.8.8 in 30 ms.
NS e.root-servers.net. from server 8.8.8.8 in 30 ms.
NS f.root-servers.net. from server 8.8.8.8 in 30 ms.
NS g.root-servers.net. from server 8.8.8.8 in 30 ms.
NS h.root-servers.net. from server 8.8.8.8 in 30 ms.
NS i.root-servers.net. from server 8.8.8.8 in 30 ms.
NS j.root-servers.net. from server 8.8.8.8 in 30 ms.
NS k.root-servers.net. from server 8.8.8.8 in 30 ms.
NS l.root-servers.net. from server 8.8.8.8 in 30 ms.
NS m.root-servers.net. from server 8.8.8.8 in 30 ms.
TXT "v=DKIM1\; k=rsa\; t=y\; p=[long key]" from server 85.95.211.100 in 0 ms.
root@vm1613:~#
如果我不 +trace,就没有结果 ( SERVFAIL
)。
当我测试密钥时,我得到:
root@vm1613:~# opendkim-testkey -d foo.it -s 201305 -k /etc/opendkim/201305.private -vvv
opendkim-testkey: key loaded from /etc/opendkim/201305.private
opendkim-testkey: checking key '201305._domainkey.foo.it'
opendkim-testkey: '201305._domainkey.foo.it' unexpected reply class/type (-1/-1)
[Exit 69]
root@vm1613:~#
因为(我认为)它不是解析为 TXT 而是解析为 A 记录。
为什么与 +trace 有这种差异?
我考虑过DNS缓存所以我放了三天,但是结果总是这样。
答案1
201305._domainkey.foo.it. 是有效的,只要它带有尾随点。 可能有冗余信息,但并非无效。
可能是您的 DNS 尚未完全传播?或者您域的某些 DNS 服务器提供的信息与其他服务器不同?尝试依次针对您域的每个 ns 服务器运行 dig,查看 SPF 记录和 SOA 记录。
最好同时拥有内容相同的 SPF 记录和 TXT 记录。