记一次DNS spf记录变更收获

公司业务迁移上云,迁移过程中提出很多系统使用新方案替换旧方案,替换过程中两个系统同时运行。其中邮件服务发送时反垃圾邮件会检查DNS spf记录,因此需添加新增的邮件服务器,原本对spf记录已有一些了解,但没有做过变更,记录一下变更中遇到的坑。
在添加新服务器ip时,发现原本添加的dns记录中记录值已接近255字节,(DNS记录值中有rfc规定,domain name中每个.前最长只能有65字节;记录值部分最高255字节),在修改记录时,添加了ip4:x.x.x.x后报错,记录值超过最大值。
首先想到的是再添加一条spf记录,但是一查文档发现RFC规定spf记录有且只能有一条,并且发现很多大公司的spf记录很精简且只有一条。
之前记得cisco.com的spf记录很长,于是想到参考下cisco的spf记录,于是发现了cisco.com的spf记录及其精简:

dig cisco.com txt
cisco.com. 3600 IN TXT "v=spf1 redirect=spfa._spf.cisco.com"

dig spfa._spf.cisco.com txt
spfa._spf.cisco.com. 86400 IN TXT "v=spf1 ip4:173.37.147.224/27 ip4:173.37.142.64/26 ip4:173.38.212.128/27 ip4:173.38.203.0/24 ip4:72.163.7.160/27 ip4:72.163.197.0/24 ip4:66.187.208.0/20 ip4:173.37.86.0/24 include:spf.protection.outlook.com include:spfb._spf.cisco.com ~all"


再看看ebay的spf记录:
dig ebay.com txt
ebay.com. 3600 IN TXT "v=spf1 include:c._spf.ebay.com include:p._spf.ebay.com include:p2._spf.ebay.com ~all"

dig c._spf.ebay.com txt
dig p._spf.ebay.com txt
dig p2._spf.ebay.com txt
include指引入该域名的spf记录,于是想到改造下公司的spf记录,改造前还查询了下163.com的spf记录,更加简单粗暴,不断使用include导入邮件服务器的ip

在改写过程中将原spf中的ip地址写道另一条域名spf记录中,由于公司的dns服务在公网有secondary(slave) zone,并且是非触发式更新,在master zone上做了修改后不会立刻生效,需等待一段时间后(SOA记录设定的同步时间)才能解析到,因此在生效后才对原spf记录进行了修改,修改后使用在线工具https://mxtoolbox.com/spf.aspx验证,发现spf语法错误,检查后发现ip4写成了ipv4导致报错(这一点有点粗心,也是之前网络知识学的麻木了),发现时,应该已经对生产业务有影响,但无人反应有问题(实际影响应该不大,因为最后拒绝策略写的是~软拒绝)。
在修改后最终验证通过,在修改公网dns配置时还是应该谨慎再谨慎,即使公网没有使用secondary zone做解析,公网的public dns server也会缓存相当长的一段时间。
最后发现使用dig可以查询某域名的any记录
dig ebay.com any

  Previous post 2020-08-07
Next post   已到最新一篇

添加新评论

  Timeline:2020-08-07

We have responsibility to make this world a better place.Because noting can stop what we can do together.

updated on :

  关于博主

如果难过就努力抬头看天空吧,它那么大,一定可以包容一切难过和委屈。

  近期评论

  • 暂无评论

  分类目录