Hi, I'm Brad, @bradfitz on Twitter, etc.
This page describes my home server & networking setup.
Questions welcome!
The primary goals of this project are...
to have a highly-available home Internet setup, with no SPOF (Single Point of Failure)
to learn and have fun.
I have 3 physical machines plugged into 3 switches, with all switches connected to each other. I don't have a physical router/gateway. Instead, a Linux virtual machine handles the IPv4 NAT, IPv6 announcements, DHCP, DNS, etc, and that Linux VM floats between the 3 machines as needed, including live migration during maintenance.
My 4 Wifi APs are PoE-powered from the two switches. I have two ISPs.
I have two UPSes and two PDUs powering separate halves of the gear, and separate ISPs, giving me about 35-45 minutes of runtime (and thus Internet) during a power outage. The whole house might be dark, but the battery-powered wifi will work.
Higher quality photos at https://photos.app.goo.gl/Y5Ah6AeGekVkf3tY9.
The whole setup including all APs and switches draws about 220 watts idle. Power is pretty cheap in Seattle. Washington State (as of April 2018) has the cheapest electricity in the United States, at $0.0974/kWh.
10.0.0.0/16
.10.2.0.0/16
, which the LAN can connect to, but the untrusted machines can't initiate connections back out to.10.0.0.1
(and 10.2.0.1
for untrusted)10.0.100-199.x
so they're easy to recognize. Likewise for the untrusted VLAN.10.0.6.x
(6 is above the letter N
on the keyboard, which is how I map letters to numbers usually)...
...
TODO: link to program with dependency graph of all devices, services, and connections, and to simulate failures to validate there are no hidden SPOFs.
Much thanks to Dave Anderson for helping with a lot of this. He has a very similar setup at his home and we enjoy watching each other both succeed and fail at trying new things.