WiFi Mesh System Are Garbage Build Your Own Using OPNsense - DIY Howto Guide
On multiple occasions, I’ve bought a wireless home networking system, set it up, but then problems arise:
- Lack of firmware updates.
- Features like parental controls are stuck behind a monthly subscription paywall.
- The mobile app from the manufacturer is buggy, lacks updates, and makes you sign in to a third party server.
- Unsolicited spam and solicitations to services like VPNs.
- The network locks up and becomes unresponsive - more so over time. Thus requiring unplugging and plugging in the router.
- Lack of high speed ports on the router.
- Can be quite expensive and no clear information as to what type of hardware differentiates one product from the next (i.e. RAM, CPU, etc.).
A year ago, I saw this video from Linus Tech Tips:
In the video, they mention OPNsense. Now there are quite a few different open source packages that you can use to configure a router. I chose OPNsense (haven’t tried anything else) because it seems to have the most updates and is supposedly more user friendly that other options.
Regarding the hardware, I opted for the “Protectli Vault Pro VP4650-6 Port, Firewall Micro Appliance/Mini PC - Intel i5, 2.5G Ports, DDR4 RAM, M.2 NVMe or SATA SSD Storage, AES-NI, 8GB RAM, 120GB SATA SSD” off of Amazon. I chose this one because the i5 is a good midrange processor, 8GB (from what I’ve read) is a reasonable amount of RAM, and 120GB of storage is way more than I’ll need. Furthermore, it’s all passively cooled so there’s no noise.
Here’s some helpful information to help you install and configure OPNsense - it’s multiple sources since I couldn’t find an all in one guide.
- OPNsense on the Vault – Protectli Knowledge Base
- How to Enable LAN Bridge with OPNsense
- Enable IPv6 Support When Browsing the Web - You must click the “Enable link-local address” on the “Interfaces: Other Types: Bridge menu.”
- Set up AdGuard Home on OPNsense
- A guide to setting up AdGuard Home Settings - Personally, I stuck with the built in lists. I tried adding additional ones like the author suggested, but it seemed to slow down the system terribly and didn’t make a difference when browsing.