The haeredes package
Haeredes is primarily useful for ISP network administrators. Customers will occasionally decide to switch hosts without alerting the current host; this can cause two problems:
With NS records, the previous host (at the very least) keeps hosting a DNS zone that does nothing. If that host uses their authoritative nameserver as a caching lookup server as well, it may return incorrect results to queries about the domain in question.
For MX records, the situation is slightly worse. Most mail servers will immediately accept mail for which the server thinks it is the ultimate destination. If a mail server is configured as the destination for a domain, but it is not the MX for that domain, then mail submitted to that server may possibly be lost. It is therefore important to remove domains from the old mail host as soon as the MX record is changed.
Haeredes can alert administrators when NS/MX records are changed. More detail can be found in the man page.
Make sure example.com has the expected name servers, [ab].iana-servers.net:
$ haeredes a.iana-servers.net b.iana-servers.net <<< "example.com"
If you use --no-append-root and your nameservers are rooted, you must remember to supply the trailing dot yourself. Otherwise, you'll get false positives.
$ haeredes --no-append-root \ a.iana-servers.net b.iana-servers.net \ <<< "example.com" Domain "example.com" delegates somewhere else: "b.iana-servers.net." "a.iana-servers.net."
Check orlitzky.com against the expected name servers, using d.gtld-servers.net:
$ haeredes --server 188.8.131.52 dns1.viabit.com dns2.viabit.com \ <<< "orlitzky.com"
Check orlitzky.com against only one of the expected two nameservers:
$ haeredes dns1.viabit.com <<< "orlitzky.com" Domain "orlitzky.com." delegates somewhere else: "dns2.viabit.com."
Check a nonexistent domain (we provide no delegates, since we know .invalid will not be delegated):
$ haeredes <<< "example.invalid" Domain "example.invalid." not delegated.
|Versions||0.1, 0.2.0, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4|
|Change log||None available|
|Dependencies||base (==4.*), bytestring (==0.10.*), cmdargs (==0.10.*), dns (==1.*), HUnit (==1.2.*), iproute (==1.2.*), MissingH (==1.2.*), parallel-io (==0.3.*), QuickCheck (==2.*), test-framework (==0.8.*), test-framework-hunit (==0.3.*), test-framework-quickcheck2 (==0.3.*) [details]|
|Maintainer||Michael Orlitzky <firstname.lastname@example.org>|
|Source repository||head: git clone http://michael.orlitzky.com/git/haeredes.git -b master|
|Uploaded||Sat Oct 5 23:09:10 UTC 2013 by MichaelOrlitzky|
|Downloads||1222 total (28 in last 30 days)|
|Status||Docs uploaded by user [build log]|
All reported builds failed [all 1 reports]
For package maintainers and hackage trustees