Our power went out on Monday and, unfortunately, the SSD on the server with all of our VMs got corrupted. The main server has ISC Bind configured to host all of our internal DNS zones as secondaries … but, a day after the primary DNS server went down, those copies fell over. Luckily, you can convert a secondary zone to primary. The problem is that the cached copy of the zone was … funky binary stuff.
Luckily there’s an executable to convert this into a text zone file — named-compilezone
-f raw -F text -o output_file_name zone_name input_file_name
So, to covert my rushworth.us zone:
named-compilezone -f raw -F text -o rushworth.us.db rushworth.us rushworth.us.db.bin
Then, in the named.conf file, change the zone type to “master” and remark out the line indicating which the masters are. Change the “files” line to the newly created file. If you haven’t already done so, add “allow-query {any; };” so clients can actually query the zone.