AllKnowingDNS provides reverse DNS for IPv6 networks which use SLAAC (autoconf), e.g. for a /64 network.
The problem with IPv6 reverse DNS and traditional nameservers is that the nameserver requires you to provide a zone file. Assuming you want to provide RDNS for a /64 network, you have 264 = 18446744073709551616 different usable IP addresses (a little less if you are using SLAAC). Providing a zone file for that, even in a very terse notation, would consume a huge amount of disk space and could not possibly be held in the memory of the computers we have nowadays.
AllKnowingDNS instead generates
on the fly. You only configure which network you want to serve and what your
entries should look like.
AAAAqueries with configurable format.
You can find full documentation for AllKnowingDNS and its configuration file in the manpage all-knowing-dns(1).
In case you understand German, you can also watch a presentation about AllKnowingDNS.
Ideally, your Linux distribution provides a package for AllKnowingDNS already. Please use that package. If you insist on downloading and installing AllKnowingDNS manually, here you go:
Do you have an IPv6 network with autoconf and want to provide reverse DNS for it? Got five minutes? We can do that! Let’s assume your network is 2001:4d88:100e:ccc0::/64.
apt-get install all-knowing-dns
network 2001:4d88:100e:ccc0::/64 resolves to ipv6-%DIGITS%.users.rzl.so
$TTL 7d ; 1 week e.0.0.1.8.8.d.18.104.22.168.2.ip6.arpa. IN SOA ns1.rzl.so. hostmaster.rzl.so. ( ; serial refresh retry expire min 42 7d 1d 30d 7d ) NS ns1.rzl.so. NS ns2.rzl.so. 0.c.c.c.e.0.0.1.8.8.d.22.214.171.124.2.ip6.arpa. IN NS ipv6-rdns.rzl.so.
$TTL 6h rzl.so. IN SOA ns1.rzl.so. hostmaster.rzl.so. ( ; serial refresh retry expire min 2012030701 3h 30m 7d 1d ) NS ns1.rzl.so. NS ns2.rzl.so. users.rzl.so. IN NS ipv6-rdns.rzl.so.
Verify that everything works by resolving a host both ways:
host 2001:4d88:100e:ccc0:216:eaff:fecb:826 host -t AAAA ipv6-0216eafffecb0826.users.rzl.so