[rbldnsd] ipv6 support: beginnings of an ip6trie dataset
Jeff Dairiki
dairiki at dairiki.org
Wed Feb 27 05:50:00 MSK 2013
I got an itch to work on 'ip6trie' dataset support for rbldnsd. I've
implemented the ipv6 equivalent of the 'ip4trie' dataset. It can
handle CIDR ranges of any prefix length and each CIDR range can have
its own (A and TXT) values. (CIDR ranges can also be excluded.)
By way of introduction: I do not run any production deployments of
rbldnsd myself. I do however use several RBLs, and I'd like to see
IPv6 support on those RBLs. I hope this work will contribute to that
end.
One of the RBLs I'm most interested in seeing IPv6ified happens to be
a white list. For that, the current ip6tset dataset is not suitable,
since it does not support listing individual /128s (only excluding them.)
Given the large size of the ipv6 address space, and the variability in
prefix-lengths one might want to list, it seems to me that the
flexibility provided by the trie-type dataset is generally the way to
go. The down-side to the trie datasets is that they use more memory —
by a factor of roughly 3 or 4, from my tests — than the *set type
datasets. (But how much memory does a typical server have these days,
compared to even five years ago?)
Anyhow, there is now working code at:
https://github.com/dairiki/rbldnsd
The actual code in in the 'ipv6' branch:
https://github.com/dairiki/rbldnsd/tree/ipv6
You can fetch a tarball from:
https://github.com/dairiki/rbldnsd/tarball/ipv6/rbldnsd.tar.gz
Though I'm sure they exist, there are no bugs that I know of currently.
Comments and reports welcome...
Cheers,
Jeff
More information about the rbldnsd
mailing list