After having multiple clients change their DNS settings without warning and then email us when shit hits the fan I knew I needed some type of warning system.
This checks every X minutes and saves each version so you can see the revision history for all your DNS zones across many providers.
Might be better to go in the reverse direction - get them to store their DNS records under revision control and then when changes are committed/pushed they are deployed.
I wrote something like that for Amazon's rout53, https://dns-api.com/ but it wouldn't be hard to wire up a git hook with APIs from DNSMadeSimple, Dyne, or similar I'm sure.
(Of course if you don't host your clients DNS then it might be a fight to get them to change. But if you do it might be worth a think..)
I thought about that, but some of our clients use 3rd party contractors / internal IT to manage their DNS as well so getting those entities to use it would be hard. Eventually that would lead to mismatched records.
The current way, I can actually monitor DNS changes to clients without them having to change anything they are doing.
I have thought about a syncing type of feature where you'd be able to schedule a one-time or recurring sync for a particular zone or group of zones.
I guess it's good you've got a solution that works then !
If you had the option the simplest way to poll for changes would be to do a hourly/daily/weekly zone-transfer. But many DNS-hosts disable those for security reasons.
Yeah thats the trouble. The big providers disable zone transfers so you have to hope for an API. A lot of providers don't make one available. Besides the ones I have up there, there are only 2-3 more that provide a workable API which I'm planning on integrating soon (Dyn & Azure).
After having multiple clients change their DNS settings without warning and then email us when shit hits the fan I knew I needed some type of warning system.
This checks every X minutes and saves each version so you can see the revision history for all your DNS zones across many providers.