Introduction

The goal of this project was to build a compact and functional home network while gaining hands-on experience in configuring and managing network infrastructure. Throughout this process, I enhanced my understanding of network topology, segmentation, and hardware integration.

Objectives

  • Gain practical experience with network infrastructure deployment and management.
  • Improve network security and efficiency using Pi-hole + Unbound DNS for ad and tracker blocking.
  • Build a custom, space-efficient networking rack using 3D printed parts.

Hardware

ComponentDescription
Patch PanelImproves cable management and provides structured wiring
Patch Coupler2 x Keystone RJ45 CAT6A shielded couplers
TP-Link TL-SG108PEManaged 8-port Gigabit switch with PoE & VLAN support
Raspberry Pi 4 8GBRuns Pi-hole (DNS filtering) + Unbound (recursive DNS)
16x2 LCD DisplayDisplays real-time Pi-hole stats (DNS queries, uptime, etc.)
3D Printed MountsCustom-designed brackets for component mounting
Metal FrameProvides structural support for the rack
CAT6A SFTP CablesVarious lengths (6-inch, 16-ft, and 82-ft)

Rack Diagram

Networking Rack Diagram

Raspberry Pi Setup

  • OS: Raspberry Pi OS

First, I set a static IP address on my Raspberry Pi, then I installed Pi-hole following the steps from their repository. The installation process was pretty straight forward and after that the Pi-hole dashboard can be accessed at http://<ip_address>/admin using the provided password (it can be changed later with the command pihole -a -p your_password). To enable recursive DNS resolution, I followed the official setup guide and configured Pi-hole to use Unbound as the upstream resolver. This setup enhances privacy and reduces reliance on external DNS providers. In order to permanently monitor my Pi-hole stats in real-time, I attached a LCD display to my Raspberry Pi, and used this repository for displaying the stats. A little tip to run the program in background, is to use screen -S session_name and then press Ctrl+a d to detach from the Linux Screen session.

Network Segmentation

Since my router lacks VLAN support, VLANs were configured only on the switch:

  • VLAN 10 (Main): Main trustworthy devices (PCs, phones, TV)
  • VLAN 20 (IoT/Media): Smart devices, cameras (isolated from main network)
  • VLAN 30 (Guests): Network for guests (untrusted devices)

Enhancements

  • Isolated IoT traffic to reduce security risks.
  • Implemented DNS-level protection (Pi-hole).
  • Applied firewall rules.

Challenges & Solutions

ChallengeSolution
Router lacks VLAN supportUsed switch-only VLAN for segmentation
Pi-hole installationPi-hole prompted an error when installing, and it needed a fresh OS install on a new SD card
LCD script wouldn’t persistUsed screen to run the script in the background

Future Improvements

  • Upgrade to a VLAN capable router.
  • Add a UPS for power stability.
  • Implement network monitoring.
  • Add security cameras on the PoE ports.
  • Add a mini-PC in the rack - run multiple VMs and containers for homelab experiments.

Results and Conclusion

  • Performance improvements: faster browsing and fewer/no ads.
  • Security enhancements: DNS-level filtering blocks malicious domains.

This project improved my networking skills, gained me hands-on experience with VLANs, DNS, CAD modeling and 3D printing. By successfully creating this project, I demonstrated my problem-solving and DIY engineering skills and it serves as a foundation for more advanced setups (like homelabs and enterprise networks).