Background There comes a point when just having a shoebox under your bed with all your important documents and files is no longer viable.1 This is especially true if you have some kind of hobby, like genealogy, which tends to explode in the amount papers you need to keep track of. At this point, I’ve filled two folders with about 100 documents worth of family history research and I don’t expect that to stop anytime soon.
Making backups of your work is one of those things that we all know we should do, but get lazy about actually setting up1. Things are easier these days, particularly on Windows, where you can have your Documents folder automatically backed up to the cloud. You can also install GoogleDrive, DropBox, NextCloud as drives in Windows and have them sync automatically as well. When it comes to backing up configuration data on my Linux servers, things are a bit more complicated for me.
Over the Christmas holidays, we spent a couple of weeks abroad with family. During this time, I still like to have access to my network, both for the self-hosted services I have but also so I can play around with new ideas during the downtime. Unfortunately, about halfway through our holiday, I lost access. I couldn’t tell whether this was because my DNS Updater script failed to set the correct dynamic WAN IP on my DNS record, or whether the router had locked up, or my servers were down.
I set up influxdb a while back on my NUC, so that I could have a TIG (Telegraf/Influxdb/Grafana) stack running and capture nice metrics on my home network. What I didn’t find out until later is that you shouldn’t put Influxdb on a network drive, it generated a network storm, maxing out my NUC’s CPU waiting on I/O operations to complete. I tore down the TIG stack and hadn’t used it since.
I’ve had my own internal DNS for a while now and it’s been working great. I’ve even pointed my router’s DHCP config to hand out the Raspberry Pi’s IP address as the network’s authoritative DNS Server. At the same time I’ve used AdBlock Plus for a while now in my browser, but I was always unhappy that I couldn’t have the same thing on my Pixel as well. Particularly as ads and popups are even more annoying on a small screen when you just want to look something up.
The NUC that I bought a while back has mainly just been used to run a Plex server. Lately I’ve been playing with setting different things up on my Raspberry Pis, including my own internal DNS. Then I was talking to a colleague of mine about my Munin setup and I really wanted to show him what I’m doing. So, perhaps a little radically, I devided to open up access to the outside world
I’ve been meaning to do this for ages now and today I found the time to do it right. I installed dnsmasq on a spare Raspberry Pi to do three things: Provide nice name resolution on my servers (i.e. *foo*.peterkuehne.com) Log all DNS queries (for stats, etc, not for actual monitoring) Cache DNS lookups and make browsing a few milliseconds faster As far as I can see right now, this all works great.