My Networking professor was right (and it took me 5 years to realize)
From ignored Networking classes in college to a home server: how I organized my home network with Pi-hole, Proxmox, and VPN.
In college, I confess: Computer Networking classes were the ones I paid the least attention to. IP, subnet mask, DNS... "That's infra stuff, developers don't need to know that," I thought.
Years later, here I am — with a server running at home, managing IPs as if it were the most natural thing in the world.
What made me change my mind?
It all started when the number of devices at home exploded. Computer, laptop, cell phones, TV, smart lights, Echo Dots, air conditioning... suddenly I had dozens of things connected and no control over anything.
I wanted to access PC files from my phone, control the house from anywhere, and understand why my internet seemed slow even with a good connection. The answer? A mess of devices competing for bandwidth without any organization.
That's when I decided: I'm going to organize this network.
The General Architecture
After much study and experimentation, I arrived at this structure:

Segmentation by function:
.2 - .19→ Infrastructure (servers, DNS, automation).20 - .29→ People (PCs, cell phones, TV).50 - .59→ IoT Hubs (Echo Dots, air conditioning).60 - .99→ IoT Endpoints (lights, smart plugs).100+→ DHCP for visitors
Does it seem excessive? Maybe. But when something goes wrong, I know exactly where to look. And more importantly: I can configure specific rules for each "type" of device.
DNS: The invisible heart of the internet
Here I need to pause to explain something I completely ignored: DNS.
Every time you type "google.com" into your browser, your computer has no idea what that is. It needs to ask a DNS server: "Hey, what's the IP of this google.com thing?". The server responds something like "142.250.79.14", and then the connection happens.
This happens hundreds of times a day — not just when you browse, but when apps check for updates, when your phone "calls home", when your smart TV loads ads...
And this is exactly where the magic happens.
Pi-hole: Goodbye, ads
Pi-hole is a DNS server that runs on your local network. Every DNS request passes through it before going to the internet. And the trick is simple: it has a giant list of domains known for serving ads and trackers.
When someone on the network tries to access ads.facebook.com or tracking.google-analytics.com, Pi-hole simply... doesn't respond. The ad doesn't load. The tracker doesn't work.
This means: YouTube with fewer ads, apps without intrusive banners, and smartphones that stop "calling home" every 5 minutes.
And as a backup, I use Cloudflare's public DNS (1.1.1.1) — if Pi-hole goes down, the internet keeps working.
Proxmox: One computer, multiple systems
Now the question: where does all this run?
Instead of having 5 different computers consuming energy and space, I have a single server with Proxmox VE. It's a virtualization operating system that allows you to create LXC containers and virtual machines that run completely isolated.
Think of it this way: it's like having several computers inside one, each doing its job without interfering with the others.
What runs on my Proxmox:
| Service | Function |
|---|---|
| 📁 Nextcloud | My own "Google Drive" — files synchronized across all devices |
| 🏠 Home Assistant | Home automation — I control lights, air conditioning, and monitor sensors |
| 🎬 Jellyfin | Personal Netflix — my media library accessible from anywhere |
| 🔒 Pi-hole DNS | Network-wide ad blocking |
| 🔄 Node-RED | Visual automations — I integrate services easily |
If a service has a problem, I restart only it. If I want to test something new, I create a container, test it, and delete it if I don't like it. Zero risk to the rest of the system.
VPN: Access from anywhere
One of the functionalities I use most is remote access via OpenVPN. With it, even when I'm away from home (at work, traveling, anywhere), I can access my local network as if I were there.
This means: accessing my files on Nextcloud, controlling the house with Home Assistant, or debugging something on the server — all securely, encrypted.
What I learned from all this?
- Networking isn't just theory — understanding how your traffic flows completely changes your perspective on development
- Self-hosting is empowering — you control your data, you don't depend on third-party services
- You don't need expensive hardware — a used PC or a mini PC works perfectly
- Documentation is life — that network diagram saves hours of debugging
- Layered security — DNS blocking trackers, VPN encrypting access, segmented network
If you also slept through Networking classes... maybe it's time to wake up. 😉
And you, do you have any homelab projects or ideas to better organize your network? Or mine? Call me and let's chat!