Thanks all,

My question still was: Suppose I comply with all the recommendations and
best practices in composing my SPF records... Do I still need to worry
about the number of IP addresses (v4/v6/ciders) that I put in each record?

I guess if I could really stick with sub 512 bytes records, I could not put
more than 20ish ip4 mechanisms and even less if including ip6 ones. And
using includes I could not have more than 10 of such records.


On Sun, Feb 23, 2020 at 7:54 PM Viktor Dukhovni <postfix-us...@dukhovni.org>
wrote:

> On Sun, Feb 23, 2020 at 06:44:34PM -0500, Mohamed Lrhazi wrote:
>
> > record flattening is the process of replacing include, and other lookup
> > generating mechanisms, with their resulting ip addresses.
> > My question is how many IPs can one put in a single spf record?
> >
> > It appears the RFC does not touch on this, so I guess it’s left to the
> > implementors to decide, and from my limited tests it seems to vary a lot.
>
> The most recent BCP recommendation for UDP DNS buffer size selection is
> 1232 bytes.  Therefore your TXT record along with any other DNS overhead
> (including any DNSSEC signatures if your domain is signed) should fit
> into at most 1232 bytes.  You can test with:
>
>     dig +norecur +dnssec +novc -t txt example.com @ns1.example.com
>
> (where ns1.example.com is replaced by a suitable authoritative
> server for the domain), and see how big the response is.
>
> Some resolvers may limit DNS resposes further, and responses of 512
> bytes or less are sure to be sufficiently small.
>
> FWIW, google seems to have comparatively small SPF text records, and
> even advertises 512 bytes as the EDNS buffer size, but google.com is
> unsigned, so the small UDP limit becomes more practical.
>
>     $ dig +norecur +dnssec +novc -t txt _netblocks.google.com @
> ns1.google.com
>     ...
>     _netblocks.google.com.  3600    IN      TXT     "v=spf1 ip4:
> 35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20
> ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16
> ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"
>     ...
>     ;; MSG SIZE  rcvd: 286
>
>     $ dig +norecur +dnssec +novc -t txt _netblocks2.google.com @
> ns1.google.com
>     ...
>     _netblocks2.google.com. 3600    IN      TXT     "v=spf1
> ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36
> ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all"
>     ...
>     ;; MSG SIZE  rcvd: 218
>
> --
>     Viktor.
>

Reply via email to