I’ve been spending my evenings upgrading and improving my home network lately. It’s not quite at a point where I can design robotic superhero suits in the garage or anything, but things are looking up. There has been a lot of moving services around to position them properly.
I have moved my DHCP and DNS out of the LXD containers they were once in to run on a box of their own. “Why do you even need your own DHCP and DNS?” you may ask. It’s pretty simple actually. These two services are the meat and potatoes of TCP/IP networking. One controls whether you can join the network easily. The other controls what your device is called on my network.
I noticed about a year ago my systems were being named xxxxx.<insert-nameof-ISP>.net while using the DHCP and DNS in my router. I own the modem I use for service, but loocking through the logs, it was somehow obtaining an IP inside my network and giving out domain suffixes to hosts. While everything worked in the sense that everyone could get on the Internet as they pleased, it triggered my “stay off my land” instincts having dealt with demarcation so long in the past dealing with telcos.
When I first learned about LXD, I got a little container happy and proceeded to run about 21 servers out of one machine. I was tying up all 16GB of RAM in the server and the whole network was slowing down. I had Gitlab, Icecast with radio stations for all the major holidays and 4 decades of music, 2 WordPress instances, a personal Python Project, Planet, DNS, and DHCP containers. Things got carried away.
Then the routing table somehow became corrupted on the server and I could only ssh into the containers. not the server. I could fix it for a while by manually rebuilding the route tables, but it would ultimately end up in a failed state again when arp rebuilt the tables. Something was telling me it was time to ease up on the containers.
After over a month of messing with it, I made the choice that functionality was ultimately more important than the satisfaction of fixing the problem. I tarred all the containers and put a fresh copy of Ubuntu Server 18.04.1 on it. I’m still debating which containers are important and which should remain on backup.
It’s going to be much easier to stay disciplined now rather than after I put everything back. Sandboxes are good, but you shouldn’t fill your yard or your server with them. I have reinstalled LXD, but it’s not going to be the only thing I focus on.