Today has seen me going through a few hours of hell trying to solve a DNS resolution problem. On reflection, this was of my own making. This blog resides on a self hosted WordPress setup. What this means is, I’ve rented a server and installed WordPress myself and maintain it myself.
I also (up until today) hosted my own DNS servers. This is where the cause of all my stress came from. Due to issues with my current host, I decided to move the management of these back to my domain registrar. This was easier than expected since as I’d used them before all setting were still intact and didn’t need any modification.
The next move however, was my biggest mistake. Thinking my registrar’s DNS servers were now taking the strain, I shut down and removed my self hosted ones. It took me a few stressful hours figuring out that this was the fatal error. Log files can be a bit cryptic at times and don’t always point you at the root of the problem. This was that many external DNS servers were still looking for my own servers to resolve my hostnames.
Thanks to some specific settings within DNS, I came to realise that this problem was unsolvable, by me at least. Time was the only solution. I’d set up a default TTL of 24 hours. This meant that after that time all known DNS data about my domain would be forgotten. The problem that provided me with so much stress should fix itself by mid afternoon the following day.
With that knowledge in hand, the only sensible thing to do was to walk away, it’s a hard thing to do, parts of your empire are broken and you want to fix them, but when the solution isn’t under your control you have no choice.
As it turned out walking away didn’t fix the problem, in fact I was in totally the wrong area when I spoke of TTL’s. When I hosted my own DNS I DNSSEC’d the trisect.uk domain which involved uploading DS records to the root DNS servers. When I started using my domain registrar’s DNS servers I lost the DNSSEC, and didn’t realise I needed also to remove the DS records I’d uploaded, once that was done all was well in the world. The global DNS machine could find my blog again.