To check DNS for errors:

http://www.dnsstuff.com/

http://www.dnsreport.com/ - View a quick sanity check of your zone (e.g. http://www.dnsreport.com/tools/dnsreport.ch?domain=snakelegs.org)

http://www.squish.net/dnscheck/

Men and Mice’s “DNS Expert” is pricy, but worth it.Here’s a list of each test DNS Expert performs.

Microsoft’s free DNSlint with a demonstration and training webcast

Net::DNS::ZoneCheck

EXAMPLE:

#!/usr/bin/perl -w
use strict;
use Net::DNS;
use Net::DNS::ZoneCheck;

my $zonetocheck = “your.zone.com”;

my $res = Net::DNS::Resolver->new;
$res->nameservers(“your.nameserver.com”);

my @zone = $res->axfr($zonetocheck);
Net::DNS::ZoneCheck::check(records => \@zone, zone => $zonetocheck, strict_checks => “true”, soft_errors => “true”);