I have a monitoring application called “smokeping” installed in this server you’re currently viewing this post on, and its purpose is to measure latency to many critical services on the Internet (including my own services in my various servers).
One of these services that I measure is my ISP’s latency from this server from outside of Saudi Arabia to my home’s public IP address, below are multiple live images to measure my ISP’s latency (time in UTC+3):
These measurements are taken from my home’s public IP address, and since my ISP only offers dynamic public IP addresses to home consumers, I had to make a bash script that checks every minute if my public IP address has changed, and if it does, then it will update the “A” resource record in my authoritative DNS servers that I handle myself.
This is a cool little project that helps me dabble with monitoring solutions (i.e. smokeping in this post) and exposing only the needed parts without affecting the working internals of the monitoring solution (via reverse proxy).
In addition to exploring DNS and its types, how to set up DNSSEC for my zones, and making custom bash scripts that dynamically update my zone (while it is still signed).