Homelab 101: What’s a homelab?
As a long-time hobbyist and IT-professional I have at my home what is now called a homelab. It consists of an hot mess of more or less random computer hardware that acts both as a learning environment for my IT skills as well as the backbone for my live home network. This pretzel of purposes combined with the fact that this stuff needs to be cheap, makes for interesting constraints and a very compelling learning environment.
My homelab consists of the following shopping list.
- PC Engines APU2c4 running OPNSense as a core router/firewall.
- Cisco SB300 28P PoE-switch as a core switch.
- TP-Link 28-port PoE+ Gigabit Smart Switch
- 2x Ubiquiti UAP AC Pro access points.
- My old Atom-based NAS running FreeBSD 13.1 with 24TB of storage.
- A more recent Intel i5-based NAS also running FreeBSD 13.1 with 24TB of storage.
- 2x Raspberry Pi 2B
- 2x Raspberry Pi 4 8GB (with the option to expand to 16 of these boards)
- 1x 9U rack enclosure to house most of the above.
On top of this I rent a small VM with Hetzner and I use AWS for public domain registration and DNS-hosting as well as this website, which comes to you through S3 and CloudFront.
Now the purpose of this stack of hardware is primarily to have a working home network, as well as facilitate my learning environment. This means a few basic things:
- The connection to the internet must be stable.
- DNS must work, even when I’m using my wonky internal zones.
- My self-hosted e-mail at Hetzner must work, regardless of whatever else I do.
I keep the connection to the internet up and stable through OPNSense on a pretty decent little machine that has no moving parts. The fiber that comes into my home gets converted to 1Gbps ethernet through a tiny box with an SFP module. The copper then goes into the APU2c4 and comes back out to feed into the Cisco switch.
The Cisco switch in turn connects the wireless access points and has uplinks to wall outlets in every room of the house. One of these uplinks runs to the attic where my rack sits, containing the rest of the network.
This rack contains my playground and two separate DNS servers in the form of the two older Raspberry Pi boards. These are authoritative for the local zones and forward to my ISP for other queries.