Home Lab

For those in the tech space or learning about IT technology, having a home lab can be a big help. With a little forethought and by taking advantage of modern technology, this does not require a lot of physical space or an exorbitant investment. My intent in sharing my setup is to highlight technology that you can use in your home lab. Over the years I’ve found myself paring my lab down as machines die by attrition. I have no more power hungry Xeon-based enterprise servers or workstations (I once had three). Everything is now small form-factor and low power. I’ve come to appreciate the lower cost, noise and power expense.

It was a hard habit to break. In the end though, I don’t host anything for production, and high-end CPUs and ECC RAM just up the cost and don’t bring anything important to the equation. And all technology is perishable, so the high-end gear I bought ten years ago is now e-waste and I’ve replaced it with much less expensive and completely functional, albeit less glamorous stuff.

Network Attached Storage

Part of the backbone of my home lab is a NAS or Network Attached Storage system. The NAS provides a central place to store data. It’s like a mini server for disk storage and other services. I use mine to backup my personal files, store virtual machine images for the compute platforms and software for all of my work. It’s also a great place to keep digital music and photos. Many are marketed as a ‘Personal Cloud’. NAS boxes may also be used to store and stream media and share photos.

I use an Asustor AS6702T NAS. It has two internal hard disk bays, four M2 SSD bays (two are occupied) and I have attached two external hard disk enclosures connected by USB. I have two new 8TB hard disks configured at RAID level 1 as the main storage array, an older 8TB disk for backups and a re-purposed 6TB disk out of a failed server that I use for temporary storage. I also use the NAS as a log server for the other machines on my network. This NAS has two 2.5Gb LAN ports that I have aggregated to my main multi-gig switch.

https://www.asustor.com/en/product?p_id=76

Network Switch(s) and Router(s)

A home lab should have at least one network switch to connect everything and a router to direct traffic round the network and to the Internet. A sophisticated switch can also be used to segment your network into VLANs to isolate servers and projects to the their own network sandbox. In my case three switches makeup my home and lab network with additional devices for test environments as needed. I’ve collected these over several years. Some are newer models and some are older and less capable. I also have a dedicated firewall that routes to the Internet and protects my network from bad actors.

One of my home lab routers is a Mikrotik RB5009:

https://mikrotik.com/product/rb5009ug_s_in

One of my home lab switches is the Cisco Catalyst 1200.

https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-1200-series-switches/nb-06-cat1200-ser-data-sheet-cte-en.html

My firewall/Internet border router is a Palo Alto Networks PA-440. Sometimes I switch between this and PFSense+ running under Proxmox on the Protectli Vault.

https://www.paloaltonetworks.com/resources/datasheets/pa-400-series

Virtual Machine Hosts

Most of my training, test and development work is done with virtual machines. Some of these virtual machines represent servers, some are virtual network appliances and some are virtual clients that interact with the servers. Various Linux distributions provide immense flexibility and I highly recommend that part of learning how to do things in a home lab include proficiency in Linux systems.

Protectli Vault 6670

This is the newest machine in my lab. It’s an Intel i7-based PC-class system with 10 cores and up to 12 threads, with 64GB of RAM and multiple SSDs. It also has four 1Gbe copper ports and 2 10Gbe SFP+ sockets. This gives me plenty of ports to simulate various network configurations. Combined with all the VLAN configurations available in the switches, I can setup any network scenario I want.

https://protectli.com/vault-6-port/

Intel NUC 9 Extreme

A now discontinued model, this machine runs Windows 11 and doubles as my flight simulator machine. I’ve configured it to run Hyper-V. It’s a ninth-generation Intel i9 8-core hyper-threading (16 threads) with its own array of internal SSDs and 64GB of RAM. This setup is pretty versatile as I can use it to host servers and also use it as my primary lab workstation. It runs MS Office, my favorite Text Editor (Sublime), Putty and Zoc for terminal emulation and of course, Powershell. With a total of 5TB of internal storage I also use it to mirror important files as backup in case of a problem with my laptop. The NUC 9 Extreme has two built-in 1Gbe NICs. With this much RAM and available threads I can host a bunch of different VMs to help with testing.

https://www.tomshardware.com/reviews/intel-nuc-9-extreme-kit-ghost-canyon

Virtualization Software

There are a few different virtualization toolboxes out there to choose from:

  • VMWare ESXI/Workstation
  • Virtual Box
  • GNS3
  • EVE-NG
  • ProxMox
  • Hyper-V

I’ve settled on Proxmox, which is KVM/Qemu underneath, to run my virtual network functions and have been very satisfied. It allows me to do everything I need from a virtual host and virtual network perspective. The configuration is simple and straightforward and it lets you do some pretty sophisticated stuff. From a virtual networking perspective it works better than anything else I’ve used in the home lab.

https://www.proxmox.com/en/

I use Hyper-V on the Windows 11 box because Proxmox is really only effective on bare-metal (like most hypervisors) and I need the NUC to be a Windows machine for client/workstation/flight sim functions. It has plenty of horsepower/memory/storage to do everything I need, so I’m happy with it. Hyper-V is included with Windows 10 & 11 Professional Edition and Proxmox is free unless you want an enterprise subscription for support.

Clients

For most of the client-side requirements I have three Raspberry Pi 5s (8G) running Debian Bookworm. I also have a Panasonic Toughbook running Windows 10 that I use for programming (ham) radios, running Wireshark and other tools and it can pull duty as a test client as well. The Windows host OS on the NUC and any virtual desktops I can muster under Hyper-V round things out.

https://www.raspberrypi.com

Miscellaneous

  • Regarding hard disks, I’ve settled on a mix of Seagate and Western Digital spinning rust
  • When it comes to SSDs nearly all of the ones I use are Samsung EVOs
  • I also use Samsung SDs in my Raspberry PIs
  • I use the Apple Ecosystem for everyday stuff (Mac/iPhone/iPad/Watch)
  • My employer lets me use a Mac but all of our work is done in Google and SaaS apps like Asana and SalesForce
  • I have an Azure subscription for testing cloud stuff

There’s a wide range of options for home labs. Cruising the r/homelab sub on Reddit turns up some pretty neat stuff. I find most folks are focusing on small, quiet, power-efficient setups to help keep down the cost, power consumption and noise, but every now and then you’ll run across someone with an enterprise-grade setup. With a little planning, you can build a home lab to meets your specific needs. Add equipment as you need it. It’s all about learning and doing what you need to do. I’d argue there’s never been a better time to tinker with technology, so enjoy!