Homelab: History
My lab has been around a long time. Come with me down memory lane as I describe what I have done to build it out to where it is now.
Homelab - A primer
I have been quietly labbing in my corner of the internet for some time now. At first, it was simply because I thought networking equipment and servers were cool. Now I have learned that they are both cool, and useful. For the uninitiated, homelabbing is essentially playing around with technologies with the purpose of learning how it works. You can usually Build Cool Shit too, to have something tangible to go with the learning. Reddit has (had?) a great homelab community at /r/homelab with innumerable references. They maintain an excellent Discord server as well. I would recommend checking it out if you are looking for inspiration.
My Lab’s Purpose
Everyone’s lab is a little different, and they frequently change over time. In my use case, I mostly aim to use it to either drive, enhance, or augment some learning path I am working on. This has changed over time from hobby/tinker, DIY, Networking, Hosted Services, and Security. I will cover a little history of my lab here in chronological order.
First Cracks
The first thing I built out should be familiar to some who have built labs in the past. I am a little hesitant to call it a lab since that could be seen as a bit of a stretch, but it gets the spirit right and that’s what ultimately counts. While working on my Associates Degree in Computer Networking, I got fed up with Comcast’s rent-a-router crapping out on me. I was working at Target as a Cashier at the time, so I waited for a solid sale on a Netgear Nighthawk R7000. Purchased it, then learned how to set it up to work with the Comcast all-in-one unit. I learned how to set the rent-a-router in bridge mode, learned what bridge mode was, and then configured the Nighthawk to replace the crappy router. This served as the first not-a-gaming-PC equipment I purchased to learn and benefit from.
Some time later, I took a Linux class. I think this was my 3rd semester of my Associates at my local community college. As part of the class, I purchased a Raspberry PI 3 B+, flashed NOOBS onto the SD card, and then booted Raspian and installed it. We used the PI for most of our course assignments covering anything from text editors, networking, file permissions, and very basic CLI usage. The final project of that course was a DIY project of our choosing. I decided to install a Mumble server onto the PI since I was fed up with Skype and had not moved to Discord quite yet. I remember sitting at my desk, in the basement of my mom’s house running sudo apt install mumble-server
and then combing through .conf
files for a while trying to figure out how to set up the server, rooms etc. before learning that they are set up in the application itself. Later, just to one-up myself I also installed mumble on an Ubuntu 16.04 VM and learned how to port audio through it for my PoC. I got an A on that project.
First Serious Hardware
During my 4th semester at the community college, I had just wrapped up the courses for CCNA Routing and Switching the previous semester, failed the certification exam, and decided to take a stab at the CCNA Security course. Incidentally, my first ever security course. In that course, we were using Cisco ASA 5505-X firewalls. I wanted one for home pretty badly, however could not afford a used one on ebay or more specifically, could not afford a used power supply to go with one since they use weird proprietary power supplies. After wrapping up my Associates Degree, but while still attending community college, I struck gold.
I had a customer come through my line at the service desk at Target who had overheard me talking about saving up for some routers and switches to continue to study for my CCNA. Packet Tracer was great, but nothing can replace real steel. It turns out that he was studying for his CCNA before his kid was born, but lost track due to being a new dad. He offered to give me the equipment. I offered him $100 to buy it, but he turned it down stating that I would get more use out of it than he ever did. I met him at his house to pick up the equipment after work, and scored a rack mounted power bar, 12u network rack, and 3x Cisco 2950 switches, and a 3 old routers. He was right. I did actually get way more use out of it. I used them constantly. I actually set them up to be my primary network infrastructure when I was still living at my mom’s place, with the exception of the routers, which were dead.
MOAR HARDWARE
Shortly after picking up the rack, switches, and routers from friendly customer man, I started missing my networking courses a bit. I wrapped up my networking degree after my 4th semester of community college, but since I was transferring to a state university, I was at the community college taking a semester of generals before transferring. I started volunteering in the network lab with permission from the department chair, helping students out with lab questions and generally maintaining the labs. This resulted in a few donations being handed my way as a lab refresh was on the way. 3x Cisco 1841 routers, 3x APs with a WLC (That I unfortunately, did not get a power supply for, and it was the same on required on an ASA 5505-X), a 2950 and later, an HP DL380 G6. Additionally, my lab partner for my CCNA courses was working at a network equipment refurbisher, and gifted me a Cisco ASA 5510. By this point, I had a pretty kickass lab that I could do WAY more than I needed to on. At some point I bought an 8 port 2960G, but I don’t know exactly when.
Off to University!
Once I left community college, I took all this equipment with me into university. I stuffed it into my dorm closet initially, then onto a nightstand in my apartment. I then continued to use the rack equipment as supplementary material for studying for my CCNA as my first year at University was tumultuous, and incredibly difficult to get time to get CCNA done, on top of a high credit load on Math (I was behind in, and bad at Math). Throw in the wrench of my mom passing in my second semester, and it was just difficult to make headway.
As I had some free time here and there, I would log into netacad and chip away at study materials, and run with them on the network equipment. Eventually I got my CCENT in January of 2018, and then my CCNA just a few weeks later. It was at this point that my focus came more into systems and off of networking. I donated a switch to the CCDC team, then gave the other 2 switches, routers, WAPs and ASA to friends of mine, I also acquired a few layer 3 switches at some point, but I have no idea when I got them, or even how. I think a dude on Craigslist, but I am not sure.
Shift in Focus
At this point in time, I changed the focus of my lab pretty significantly. I learned how ESXi works, installed it on the HP server, and then installed an Ubuntu 18.04 server on it, got Minecraft figured out on there, forwarded the ports on the Nighthawk and then started using it for gaming needs, and as coursework supplementation. At some point in time, I got a firmware update on the Nighthawk that caused it to go down frequently, then there were a few more that did not fix the problem, but patched some pretty gnarly security holes. I got tired of it, and learned how to virtualize pfSense on ESXi, and then replaced that as my router/firewall, and used it as wifi only for a while.
I may do a separate post on that some day, because it’s actually cool as hell in my opinion. it saved me a ton of suffering when we had power outages because it would boot back up and restore the connection without user intervention. It was very useful when I was on campus for 14 hours with 3 roommates who need internet for school. Anyhow, tangent over.
Back on topic, I also purchased a Ubquiti UniFi AC Nano to finish the transition. Attempted to install the Ubquiti software on Debian, struggled with getting Java to work, said screw it, grabbed a Windows server from Microsoft’s Dev Tools for Teaching program, installed Windows Server 2016, set up AD to go with it, and got the Ubquiti controller software installed on it. The system stayed like this more or less until I graduated. I spun up a server here or there for CCDC practice, but otherwise for the most part it stayed like this.
Post-Grad changes
After graduating, I made a few swaps. First thing I did was purchase a Dell T320 off a friend of mine. This was supposed to be a NAS since I could use 3.5 inch drives, where on the HP I could only use 2.5 inch drives. I picked up some free 2TB drives from someone on craigslist, and ran DBAN on them. I installed TrueNAS Core, however there was some massive latency issues with SMB I could never figure out. The server also had an underpowered power supply, so it was possible to trip Over Power Protection and it would die if it got above a certain amount of utilization, which was not ideal. I then purchased a Dell R710 from ebay through LabGopher to replace the HP Proliant, which I gave to a friend. I eventually took the drives out of the T320 and ran DBAN on them again, before giving half of them to friends then sending the T320 to a local recycler. At some point I purchased another 2960G later to replace the 8 port and I also dumped pfSense to switch over to a Ubquiti UDM Pro, or more specifically my roommate’s UDM Pro.
When we split ways after the lease ended, I purchased my own UDM Pro and was able to decom the Ubquiti controller from my Windows 2016 box. I also swapped out the 2-post 12u network rack with a 4-post 15u rack. The lab at this point is mostly used to host services for friends and I to use, however that is to change very soon.
What’s Next?
This is a series on the history of my homelab, and going through the implementation as it exists now. Then, covering any changes I make. This article is mostly to show how things have changed over time, both equipment and intentions at a high level. The next post will be an as-is implementation before I made any changes. Then there will likely be a series of posts that cover the changes that I make.
Changelog
2024-09-17: Fixed a broken sentence and a broken link