腾讯DNS配置错误导致QQ邮件被SPF拒绝

QQ的其中一个邮件服务器smtpbg52.qq.com, 查询其txt(SPF)记录:

dig txt smtpbg52.qq.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> txt smtpbg52.qq.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 39639
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;smtpbg52.qq.com.               IN      TXT

;; Query time: 308 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jul 26 10:26:32 2010
;; MSG SIZE  rcvd: 33


结果状态为SERVFAIL,这将会导致SPF出现临时错误,邮件会被defer。通过dig进行手动查询,可以看出这是由于腾讯DNS服务器配置错误所致。

dig +nocomments +nocmd @ns1.qq.com txt smtpbg52.qq.com
;smtpbg52.qq.com.               IN      TXT
smtpbg52.qq.com.        86400   IN      NS      ns-cnc1.qq.com.
smtpbg52.qq.com.        86400   IN      NS      ns-cnc2.qq.com.
ns-cnc1.qq.com.         7200    IN      A       61.135.157.157
ns-cnc2.qq.com.         3600    IN      A       124.89.30.16
ns-cnc2.qq.com.         3600    IN      A       60.28.234.10
 dig +nocomments +nocmd @ns-cnc2.qq.com txt smtpbg52.qq.com
;smtpbg52.qq.com.               IN      TXT
qq.com.                 86400   IN      SOA     qq.com. webmaster.qq.com. 1179452862 300 600 86400 86400

这里的问题是, 第一层dns 服务器nsX.qq.com,指定ns-cncX为smtpbg52.qq.com的权威服务器,而在ns-cncX查询,记录不存在(这正常),但却返回上层dns的SOA(qq.com),这样客户端如果继续查询,会导致无穷loop,结果当然是SERVFAIL了。
另外,按照标准,SOA记录的MNAME值应该是一个域的ns服务器的名称,而不是这个域的域名,也就是说,SOA qq.com. 应该为SOA ns1.qq.com.

This entry was posted in System Administration and tagged , , . Bookmark the permalink.

Leave a Reply