如何创建含多CIDR段的SPF记录?仿_spf.google.com实现
实现类似Google的SPF嵌套配置方案
1. 配置主域名SPF记录
在你的主域名(如mydomainname.com)下创建TXT类型的SPF记录,内容固定为:
v=spf1 include:_spf.mydomainname.com -all
这条记录的核心作用是将所有发信授权规则的判断逻辑,委托给_spf.mydomainname.com子域名的SPF记录。
2. 搭建核心嵌套SPF记录(_spf.mydomainname.com)
在_spf.mydomainname.com子域名下创建TXT类型SPF记录,这里可以直接添加授权CIDR段,同时嵌套其他细分规则的子SPF记录,示例:
v=spf1 ip4:192.168.1.0/24 ip4:10.0.0.0/8 include:_netblocks.mydomainname.com include:_thirdparty-spf.mydomainname.com -all
ip4:x.x.x.x/x:直接添加需要授权的IPv4 CIDR段,支持多条include:_netblocks.mydomainname.com:嵌套专门存放批量IP段的子SPF记录(类似Google的_netblocks.google.com)include:_thirdparty-spf.mydomainname.com:如果使用第三方邮件服务商,可单独用子SPF记录统一管理其授权规则
3. 细分IP段的嵌套记录(_netblocks.mydomainname.com)
当授权IP段数量较多时,可创建专门的子SPF记录来批量存储,比如_netblocks.mydomainname.com的TXT记录示例:
v=spf1 ip4:172.16.0.0/12 ip4:203.0.113.0/24 -all
若IP段仍需拆分,可继续创建_netblocks2.mydomainname.com这类子记录,然后在_netblocks.mydomainname.com中添加include:_netblocks2.mydomainname.com即可实现多层嵌套。
4. 重要配置注意事项
- 字符长度限制:单条SPF TXT记录字符数不可超过255,嵌套结构正是为了规避此限制,将大量规则拆分到不同子记录中
- 嵌套层级限制:SPF查询的最大嵌套层级为10层,避免过度嵌套导致查询失败
- 验证方法:可通过
dig命令验证各层级记录是否生效:
也可使用SPF专用验证工具检查整体规则的合法性dig TXT _spf.mydomainname.com dig TXT _netblocks.mydomainname.com
内容的提问来源于stack exchange,提问作者Yogesh sharma
相关产品推荐
相关产品推荐

