If you run a homelab without a traditional home Wi-Fi network, you quickly learn how frustrating network bridging can be. For the longest time, my local network was held together by a hotspot, sheer willpower, and Windows Internet Connection Sharing (ICS).
It was time for a permanent fix. Here is how I built a custom OpenWrt router using a Raspberry Pi 5 to unify my Proxmox nodes, IoT devices, and self-hosted services.
The Problem: The Windows ICS Nightmare
Before this build, my setup was extremely janky. I had two Proxmox nodes that needed internet and network access. Because I didn’t have a standard home router, I connected both nodes directly to my laptop—one into the built-in RJ45 port and the other via a USB-to-Ethernet hub. I then used Windows ICS to share my laptop’s internet connection with the nodes.
This created a cascade of daily headaches:
- Constant Dropouts: Internet access on the Proxmox nodes would mysteriously disappear, requiring constant troubleshooting.
- Network Isolation: Because the Proxmox cluster existed behind my laptop’s ICS curtain, I couldn’t access my self-hosted services (Jellyfin, Navidrome, and n8n) from any other device.
- Broken Smart Home: The biggest dealbreaker was that my IoT projects and devices couldn’t connect to the same network as my Proxmox nodes, which is where my Home Assistant instance lives.
I needed a unified Local Area Network (LAN) where everything could talk to everything else.
The Solution: A Dedicated Pi 5 Router
Instead of buying an off-the-shelf consumer router, I decided to build my own using hardware I already had, giving me total control over my network routing.
The Hardware Stack
- The Core: A Raspberry Pi 5 (8GB RAM equipped with an active cooler and the official power supply) flashed with OpenWrt.
- The Switch: An 8-port managed switch to handle the internal routing and VLANs.
- Wireless Access: A dedicated Wireless Access Point (WAP) connected to the switch to broadcast my new custom Wi-Fi network.
The Architecture
Because I still use my phone’s cellular data as my primary internet source, the network flow works like this:
- WAN (Internet In): My phone acts as the mobile hotspot and feeds internet directly to the Raspberry Pi 5.
- Routing: OpenWrt on the Pi handles NAT, DHCP, and firewall duties, transforming the tethered connection into a stable network.
- LAN (Internal Network): The Pi connects to the 8-port managed switch.
- The Clients: My laptop, the two Proxmox nodes, and the WAP all plug into the switch.
The Results: A Unified Homelab
The difference is night and day. Moving routing duties away from Windows ICS to a dedicated OpenWrt environment immediately stabilized the network.
More importantly, it solved my topology issues. By broadcasting a dedicated Wi-Fi network through the WAP, all of my custom IoT devices can now connect to the same subnet as the Proxmox cluster. Home Assistant instantly sees the devices, my self-hosted media servers are accessible throughout the house without relying on the laptop, and managing the Proxmox nodes is completely frictionless.
While the phone is the only device excluded from the internal LAN (since it acts as the WAN gateway), everything else is finally communicating exactly the way a homelab should.