rdns is a script to help with maintaining reverse DNS entries on a powerdns based DNS setup. It's intended for use with a PostgreSQL database backend but could be modified to support MySQL fairly easily.

It supports full NS delegation of zones larger than a /25, as well as sub-CIDR delegation using RFC2317 or RFC4183 notation or some forms of the DeGroot hack. Hurrican Electric have some examples of these sorts of delegation.

The only configuration needed is to ensure that it can connect to the database - by default it will connect to the database 'powerdns' as user 'pdns' without a password.

Before using it add the in-addr.arpa zones delegated to you to powerdns containing just NS and SOA records, for example 168.192.in-addr.arpa or 128-

When run rdns.pl searches (by default all zones, but a list of zones can be passed on the command line) for A records that point to address space that has been delegated to this powerdns server, and for which there is no existing reverse DNS. It then adds a single PTR record for each IP address, picked at random from the A records pointing at that IP.

It will not delete PTR records if the A record pointing at them changes or is deleted.

IPv4 only for now. I'll need to add IPv6 support soon.

Download rdns.pl