Starting the Home Lab

A little while ago, I stumbled upon the r/homelab subreddit. There, users gather to discuss their home network setups, often used for experimentation like a laboratory. I finally have enough money to get started on a modest set up, so I ordered some pieces this week to get started.

I’m currently taking classes to get a degree in computer networking. One class is an introduction to computing class that has us using virtual machines for something. Another is a networking class that should prepare me for the Cisco CCENT certification exam. I’ve become a lot more interested in the subjects thanks to the classes. At the same time, my home network needs have changed and I could use some more power and storage.

Enter the homelab. Following some guidance from the r/homelab wiki, I decided on a basic set up. For hardware, I decided to get an HP DL380e Gen8 server, a Cisco Catalyst 3560G 48-port switch, and an HP ProDesk desktop. The plan is to use a hypervisor (probably Proxmox) on the ProDesk so it can act as a pfSense router, Pi-Hole ad blocker, VPN (hopefully with WireGuard), and reverse proxy (probably Caddy) all at the same time. This router will be connected to the Cisco switch, where I may set up some virtual LANs. I’ll have to see how everything works together. I got the DL380e as a barebones thing, so the specs were up to me. I decided to go with dual Xeon E5-2450 processors, and I’ll be getting 48 GB of RAM (the maximum is 384 GB). These are both pretty cheap options. I think I found a good deal on some 1TB 2.5″ SAS hard drives, so I will probably start with six of them in a RAID 6 configuration and add more as needed. I’m not totally certain about this though. The server will be home to a few virtual machines. I’ll be moving my TV tuner card there, so there will be at least one Windows 10 VM. I’m also going to be running my normal website from there, and I’ll probably run an OctoPrint setup so I can control my 3D printer, so I’ll need at least two Linux VMs for that. I’ll probably also throw in one for Arch Linux, just because I like to tinker with it. Beyond that, I’m not sure what else I’m going to do with it yet. Maybe host some game servers for Minecraft or something or get a media library going. I’d really, really love to put my spare RX 480 graphics card in it and stream some games. This is totally possible, but I need a very specific PCI riser card to fit a double slot graphics card, plus a power wire adapter and maybe an extra power supply. We’ll see how it goes and maybe I’ll try to track down the special riser in the future.

There’s no real purpose to doing this other than I want to. The experience with Cisco networking and virtual machines might help me get a job some time in the future. It’s not super expensive at least, and it’ll be fun to have a ton of computer power at my disposal.

Right in the Pi-Hole!

A while back, several versions of this blog ago, I tried setting up a Pi-Hole (pihole from now on) internet ad eater. The pihole set up was easy, but I had a big problem with internet speed. For some reason I couldn’t quite pin down, the pihole slowed my internet to a crawl. After some research, I think it had something to do with IPv6 traffic and pihole not being able to do anything with it. I could never find a solution to the problem.

Thanks to all this virus stuff, I’ve been doing classes online and slowed down my business, so I have a lot more time at home. I decided to give the pihole another shot today after class. It went almost perfectly this time.

I decided to use a Raspberry Pi Zero W for this project, but I may move it over to something with a wired network connection at some point. It took a little while to get everything installed and configured, but it was worth it. There are no ads anywhere; not on my phone or Pandora or streaming apps like Hulu. It didn’t slow the network to a crawl this time. In fact, it feels a bit faster than before.

The only problem I encountered had a relatively easy solution. My initial setup, with my router working as the DHCP server and the pihole as DNS only, wouldn’t allow me to reach my own domain name, raucousatthecaucus.net. I had to disable DHCP on the router and let the pihole take care of it. I’d rather have the router do DHCP, but this gets the job done.

I’m really pleased with the results. My local news websites no longer vomit ads all over me. I’ll have to print a case for the Pi when my new 3D printer comes in (hopefully in 10 days or so).