Now that I have time for hobbies again I wanna dive right in to building up a home lab. Right now I just have a Netgear router that reached end of life, and a NAS i’d like to make accessible remotely, and a DIY router seems like the correct next step for me. I’m very interested in ad-blocking network wide and someday I’d like to host my own little webpage, but for now I’m really just barely getting started.
I’m information gathering, I don’t know what I don’t know and my networking skills are pretty weak anyway. But even if your needs and desires have nothing to do with mine, I also just like to hear people talk about their set ups. Please? 🌞
You could configure different settings, such as preventing the device from connecting to ad servers. You also prevent it from scanning your network to learn about all your devices, since all it would be limited to that isolated network.
I don’t know. Is it internet connected? If so I wouldn’t trust it…
Many home grade routers allow you to set up a guest WiFi network though so you may be able to isolate it that way if you’re concerned/can determine what telemetry it’s sending from the privacy policy or other reports.
But if it has Bluetooth and WiFi it has a lot of potential for tracking all sorts of things. I don’t have one and don’t know if they’re using that potential, but it’s there. It would be interesting to investigate.
I only got into privacy stuff like a year ago, but I was really focused on thinking about my phone and not as much my home network (unless we’re talking like, cloud services that are also accessed on desktop, I was already worried about those). That’s a spooky but totally valid thought imo. Agree, would be a good new rabbit hole to explore.
It’s a big rabbit hole for sure, with how many household devices are internet connected and the concerning capabilities they offer. And an expensive one if you seek to replace devices at home.
Guest Network in OpenWRT prevents inter-device communication on the LAN. So the thing can talk to its cloud service or whatever but can’t see my phone/laptop/PCs.
This means that untrusted devices which get pw0ned (or are surveillance-by-design) can’t then get into your more important machines. Most people use guest networks for IoT devices like Ring cams and smart washing machines but I don’t even own shit like that.
Lol I also passed up on ring cameras, i’d like to have a camera someday but I don’t want to go through Amazon.
I wonder if I should set up a guest network for my mother-in-law. 🤔 My husband is very on-board with my privacy-focused desires and cautious about what we invite into the home but my MIL, well, is old.
Originally I was thinking I’d find a used business mini pc and put some open source router OS on there, still haven’t picked which one. But I’ve gotten super into, like, being cautious about power consumption and some of the little boxes you can get on AliExpress seem like that might be a better option? I’m not sure yet. What’s a Protectli, if you don’t mind?
I think you might be right! It seems like pfsense is maybe more commercial (I mean, it doesn’t have to be) and openwrt is maybe more lightweight, at least that’s the impression I’ve been getting
If you’re especially looking for good power consumption, I’d look into some embedded system with OpenWRT. I was especially looking for something that could handle high bandwidth and manage some higher level features that OPNSense has.
Someone suggested seeing if I could install openWRT on my current router, I might start there instead of buying anything right away, I can always grow more later as I find I’m ready to start doing x, y. or z if I find I need to.
But I’d never heard of protectli. I have a feeling that, since I was just browsing youtube to start, I mostly only learned about companies that are doing youtube sponsorships lol
Someone suggested seeing if I could install openWRT on my current router, I might start there instead of buying anything right away, I can always grow more later as I find I’m ready to start doing x, y. or z if I find I need to.
I like the spirit! That’s an excellent place to start. If you find you need more later, there’s plenty of options to grow.
Two NIC. I’m usually using the SFF. I went 10G last year and it’s been so great. Single, used, low profile, dual port SFP+ module. One port has SFP+ to RJ45 to my modem. Other port is SFP+ passive DAC to a used Brocade ICX 2750.
I’m gonna ask you the same question I’m asking everyone using office mini PCs, do you know what kind of power draw? I’m really into the idea of cheap, but I’m also getting super into green energy.
Different person. But I have proxmox on multiple mini PC (Lenovo and HP600). They max out at 65w but pull less most of the time. I suppose I should check the weekly average, but my power monitor is on the other side of the UPS and there are multiple mini PC, devices, switches, modem, wireless AP… All on the monitor. If I had to guess I’d say the router/pihole pulls <30w and the media rig with its HDDs pulls ~100 but only when it’s read/writing. The full stack idles <100 including AP/switches, way less then my gaming PC just on idle (>700 when the GPU is GPing).
(Power efficiency is nice, but the ROI for a new ARM / RISK system is probably not great now. Better to use a recycled rig pulling 40-100w now and upgrading in a few years. It’s not like you need a server rack pulling over a kilowatt, and the efficiency gain from 5-10 year old x86 vs ARM/RISK is less then swapping out an old incandescent light to an LED.
Thank you that’s EXTREMELY helpful! I agree that maxing out at 65w and pulling maybe 30 the rest of the time isn’t so bad, but I really wasn’t sure what to expect.
That also means if I find I actually hate it and in a year I’m like “fuck it I’m done tinkering” I didn’t spend a ton of extra money on equipment.
No idea, I’m not monitoring power consumption at all.
I’m just assuming that the Intel CPU based system will idle at X Watts, peak as Y Watts, and that an ARM based appliance would idle at X and peak lower than X.
If any thing, I noticed that my UPS batter didn’t last as long during an extended ded outage once I deploy the SFF PC.
Also, TCO, if I save $100 on the price of the device (that draws more power) that is a lot of power savings required to break even.
I have a Flint 2 with OpenWRT installed, it handles all my home networking. I have a handful of vLANs and I think the count is still 5 APs. I am currently considering adding a 6th for HA to TV vLAN, one that cannot access the WAN just HA. People have disagreements over OpenWRT and pfsense, or opensense not sure which is the “FOSS” version, but OpenWRT is not going to try and upsell you.
I am sure OpenWRT offers some ad blocking but I already had two finally tuned piholes. There are arguments between pihole and adguard home. I started with pihole I have tried adguard but went back to pihole.
That was years ago so I do not remember. Maybe it was that I was just used to pihole? If I tried now I think the answer would be the same, but it would be because I have a finally curated list and regex.
I had a virtualized PFsense box for a while doing my inherent. Was actually pretty solid even when having to wrangle the quirks having a virtualized firewall/router caused.
I do this at work. If you don’t do pass through for the NICs I’d highly suggest it. When it’s a router it’s insane how much the overhead can be.
We have a 4 gig connection and with the virtual nics got maybe just over 1gbit on a Xeon silver based R640. But after pass through solid 3.5ish. Not sure where the bottleneck is currently, but our other servers do >4 just fine.
I bought a firewall appliance based on an Intel CPU, with 4x 2.5gbps Ethernet ports, 8gb ram. Installed opnSense on it and been super happy even since!
A bit pricey the hardware, but it’s been totally rock solid for almost two years now.
I have configured unbound with ad blocking on opnSense, and it has every single option I would ever want on it. Amazing stuff.
I’ve seen a lot of people on YouTube talking about this or that cast off networking device that they turned into a router. I do find the idea of repurposing especially old tech appealing. Or did you buy it brand new?
My setup consists of an x86 “network appliance”. They’re low-cost, low-power, sometime headless units that can run most any open-source software solution. Even with RAM as bad as it is, you can find these for less than $200 from multiple sources if you’re okay with 2.5Gbps. If you did need more than that, you’d have to build something custom likely, unless it’s a small-business class device.
If you’re just getting into the network software side of things, I recommend experimenting off-Internet for a while with a few different operating systems. Find which one has a user-interface you enjoy and can wrap your head around since in a personal homelab, they almost all meet the requirements. My personal choice for software ended up being OPNSense.
I run all of my other services that aren’t network related on separate hardware via a managed switch just to keep things isolated and the rest is up to you.
That actually sounds fantastic, low power, low cost, repurposed tech meets a trifecta I didn’t really know was possible and is exactly what I’d want.
I’m not really sure what anyone would need > 2.5 for tbh. If anyone wants to tell me, I’d appreciate it, I see so many network guys on YouTube talking about 10gig, and I don’t know why 😅
it’s worth mentioning mine is over 10 years old and was that cheap when I bought it. If you can find a fanless design, these will last ages since there’s a few simple non-moving components that do the same kind of work all day every day and don’t take a ton of abuse. Even after all these years, the CPU on mine sits mostly idle even with heavy traffic. Modern software is just very efficient.
Another reason the router/firewall lasts is because I use a dedicated WiFi antenna. This is another part that gets the same work every day. I’ve upgraded mine twice, but it was almost double the speed each time, and I didn’t have to spend extra money on routing hardware that was still plenty powerful.
I just put OpenWRT on a (at this point quite old) TP-Link non-DIY home router. The only thing wrong with it is that it isn’t a rack-mountable rectangle, which offends my perfectionism.
I don’t care if TP-Link thinks it’s EOL as long as OpenWRT doesn’t. You should check the supported devices list for your current hardware.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters
More Letters
AP
WiFi Access Point
DHCP
Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network
DNS
Domain Name Service/System
ISP
Internet Service Provider
IoT
Internet of Things for device controllers
NAS
Network-Attached Storage
NAT
Network Address Translation
NVR
Network Video Recorder (generally for CCTV)
PCIe
Peripheral Component Interconnect Express
PiHole
Network-wide ad-blocker (DNS sinkhole)
PoE
Power over Ethernet
SATA
Serial AT Attachment interface for mass storage
SSD
Solid State Drive mass storage
Unifi
Ubiquiti WiFi hardware brand
VPN
Virtual Private Network
Highly niche requirements not serviced by available hardware without costing waaaay too much. For example, we’re currently using Cisco Meraki MX85, and even they’re not quite there.
I’m running pfSense on an old Intel Atom fanless mini PC with 6 ethernet ports. I use pfBlocker for ad blocking. I also installed a GPS module in it. That’s the clock source for the NTP server. I was planning on replacing it with something newer, but that’s not happening until memory prices come down.
I would not recommend using pfSense anymore. My next router will be running OPNsense. I will probably install Adguard Home on that for ad blocking.
There are a number of issues with pfSense. The updates for the community edition are slow. They are trying to push everyone to the paid version. You can’t even download an ISO to install it offline anymore. You have to make a Netgate account to download an installer that needs an internet connection to run.
NTP is network time protocol. It’s used to get the time over the network. Using a GPS receiver as the clock source makes it more accurate and allows it to work without an internet connection.
Ooooo that’s really good to know. See, I think starting my journey on youtube, I was kind of getting some slightly biased perspectives, like, a lot more exposure to firms that are more likely to do youtube sponsorships, for example.
I’ve been running mine for over 20 years. It’s certainly got more difficult, especially to be able to reliably communicate with Gmail-hosted servers and outlook.com addresses, but SPF, DMARC, and DKIM are all pretty straightforward to set up. Tightening the encryption/hash algorithms you accept and “anonymizing” your server greetings takes some finesse as well, but I definitely prefer it this way.
I avoid the entire webmail and spam filtering aspects, smtp(s) and imap(s) only.
I’m running openWRT on a nanopi R5S. It’s tiny, robust, cheap, and uses very little power. It came with FriendlyElec, a fork of openWRT designed specifically for the device, but if flashed the standard version onto it so I could get more support from reading forums. I don’t know if that was the right move.
It was a bitch to get set up right, but that’s due to my lack of experience, not the device. It didn’t help that there was a major update to OpenWRT/LuCI right in the middle of my figuring out the program, that drastically changed the GUI. It also didn’t help that I was setting up a NAS, and a proxmox server at the same time, so anytime something broke I had 3 system to troubleshoot.
All that aside, it’s been working great since setup with zero maintenance. It does get hot enough that I don’t set it on any other device, but it never throttles itself or overheats.
I got an N100 motherboard with 4x GB ports and installed ubuntu. Configured 1 port for the ISP, 1 port for a guest network, and bridged the last two with a WIFI PCIe card for the trusted network. hostapd to manage the wifi, and it took a couple tries before I found a card that really handled AP mode well. dhcpd, radvd. bind 9 for DNS, integrated with dhcpd so clients can declare their own hostname. There’s a separate pihole in front of that. Took a while to discover that I had to specifically configure dhclient to the ISP to request IPv6 prefix delegation. The guest network port goes to a ddwrt router.
It also runs a mythtv backend, a couple web sites; immich, jellyfin, and paperless ngx containers. In my head, it’s more of a server with router functions glued on, where […]sense is more of a router with server functions glued on.
I was comfortable with cli administration, and the router side sort of grew organically, with a little victory each time I could unplug another appliance - first a WAP, then a switch. opn/pf-sense is probably an easier way to get into the DIY space, especially if you want to replace your whole infrastructure at one time.
Got a “Dell Wyze 5070 extended”, the extended is important because it lets it have a half height PCIe card. Put a dual NIC Intel card in it. It came with 8 GB of RAM and a 64 GB SATA M.2 drive, plenty. Price out a power brick if it doesn’t come with one, which is a Dell laptop one; it refuses to turn on with a PCIe card in and if the power brick is less than 130W (DA130PE1-00 is a product # of it)!! Very annoying. Note the Intel atom processor in it lacks AVX2 instructions which makes mongoDB past v4 not work on it, so you can’t run the Unifi controller, which has vexed me. But it’s fine for internet routing! Never tested throughput but others have online.
(Note: I would not do this now!) I put proxmox on it then did opnsense (passing through the PCIe NICs) and Debian. I chose opnsense over openwrt because opnsense had an automatic update functionality, while openwrt required you to manually wipe the OS and reinstall - when they fix nasty upgrade path that I’ll come knockin. (Openwrt is like that because that’s how routers do upgrades)
I would not choose proxmox now because its upgrade path is fraught since the free level is rolling and they’ve had critical breaking update errors in the past. No good for your router setup. I want upgrades on and automatic so I don’t get kiddie script hacked.
I’m prepping to do either opnsense only and not in a VM or Debian with Incus (VM manager like promox, but not its own OS) installed and then opnsense in a VM. I’m leaning opnsense direct to just make sure my router works, but I’ve never had trouble with Debian yet so still pondering.
I run a pihole and wireguard on the current Debian VM, and opnsense can do wireguard so most of the way there. In the future I’ll switch that pihole instance (wherever it is) to adguardhome, the local rewrite rules in pihole don’t support wildcards so it’s annoying af to have to load in every local domain I set up.
This has worked well for years and I’ve never measured power but I presume it is low.
It really did, thank you :) No one else mentioned updating as far as I know, and that wasn’t something I really thought about at all, coming from a commercial router. Plus I just enjoyed your journey. I think I’ll need wireguard to safely access my NAS remotely so that’s good to know too.
Feel free to ask any Qs if any come up, there is ?likely? better value than the Wyze 5070 extended now a days, I looked and bozos still want like $100 for it. Getting AVX2 would be a solid W for software in the future and worth a minor increase in cost. An ARM board (as long as it has UEFI and can boot regular Debian - not a custom distro for the board) would be a solid move too, but you’ll not get Opnsense then - it’s openwrt only for ARM.
This of course is me thinking of pricing when it wasn’t AI bro “lemme order all your RAM on an IOU” stupid, good luck there!! Just opnsense does not need much RAM - like 3 GB is easily safe (mine is given 2GB right now; uses 600 MB right now but I’ve seen it go past 1.5 GB sometimes). Straight Debian will add a gig or so. So even 4 GB would be fine. Proxmox is needy so it’s not fine there, but cutting it out of the equation would make 4 work if you want to save. And you’d prob get away with a $5 16 GB optane M.2 drive from China (aliexpress) with just opnsense - it’s using 3.2 GB of the 16 I’ve given it. And the Optane drive will never wear out as a bonus.
Edit: I’d estimate stock Debian at ~6 GB used. I think both can fit in 16 GB, even with Debian loaded with Incus to run the Opnsense in a VM.
i had a cheap made in china consumer router with mt7621 on it, porting openwrt was surprisingly easy and its been running well enough for the past 5 years. adguard home runs on it and handles dns adblocking
someone else suggested openwrt on my current EOL router, i might just try that! like, i think eventually I might still want something more robust, but it sounds like a pretty good starting point
It’s currently a N100 mini-pc running Debian, but in the past it’s been all kinds of random hardware including a busted old laptop with an expresscard-PCIe riser for the second NIC. Anything can be a router if you know what you’re doing!
I was using an N100 based mini PC and it did fine at 1gbit. But now that I have 3, and it’s realistically closer to 4 or 5 it doesn’t cut the mustard.
Proper hardware based routers are also just so much more efficient. That N100 machine was constantly hot to the touch. My new UniFi router uses less power and does 10 gig easily.
I have 2.5G N100 and it works wonderfully at that rate. I think higher might be tough, but it still pushes that throughput even with IPS enabled in OPNsense.
The complained about heat is right though. I stuck a noctua fan on the top and it’s been happy since. It lives my closet, so noise isn’t a facto anyways
Router is a bunch of old PCs I frankensteined and put opnsense on.
Ended up i5-7500, 8gb mem, 500gb SSD.
Put in a dual-port SFP+ NIC and a dual port 2.5GbaseT nic.
One of the 2.5gb ports goes to my cable modem.
One of the 10gb ports takes Twinax to my dumb LAN switch, the other to my dumb server switch, which right now is really just my storage network…the link to the firewall isn’t doing anytuhing.
The dumb switches I have here, though, they’ve got some sort of weird MAC learning disability. It cannot handle macflaps, which I found out about because I had a hard time roaming between APs.
So I got a Netgear GS108T and put OpenWRT on it, and that switches between my APs.
My APs are Linksys MX4200v1’s. Also openwrt. Got four of them…one upstairs, two in the ground floor, one in the basement. Can get very close to 1Gbps anywhere in the house on wifi. Not the best platform for openwrt (ipq807x), as I’ve found out…but it was a hella cheap deal for tri-band AX APs.
I don’t think this is what I’m gonna end up doing, but I LOVE STORIES LIKE THIS. Frankensteining a bunch of shit together just makes me feel so nostalgic for how I got into PCs in the first place. MAC learning disability also made me laugh.
I used to run opnsense on a Xeon blade in my old C6100. It worked well enough but was a waste. Now it’s just a stock ER605 without the Omada controller.
I have OPNsense running on a 2nd-hand Dell Optiplex SFF, which I added 2-port NIC(s) to (initially Gigabit RJ45, then later 10Gbit SFP).
Currently it’s running bridged from my ISP router, but I’m in the process of wiring the fibre directly via a SFP transceiver to the NIC. I believe you can do adblocking on OPNsense itself via Unbound, but I prefer to do that via a separate PiHole (VM).
I build a Linux system with multiple NICs. It’s heavyweight for a router, and probably not very efficient, but it does the job very well and I love it. I’m using foomuuri to manage the NFTables and NAT and it was very easy (although it’s a very obscure piece of software and the documentation and community isn’t excessively comprehensive, you might have better luck with something more common but it works nicely for me). It can pull in all the adblocking lists and all that fun stuff. I find it pretty intuitive to configure, at least compared to the horrors of most networking/routing configuration nonsense.
For DHCP I tried using the ISC’s new “kea” in the hopes it would be modern and clean alternative to the venerable old isc-dhcp-server but it turned out to be a horrible mistake. They made some awful, insane, unjustifiable design decisions in that software. It gets confused about IP addresses already being claimed (by the exact same host/MAC) address because some arbitrary value changed in how it identifies itself, and then does absurd things with static leases, it just randomly decides to give it a dynamic lease instead, and then will fixate on that dynamic lease and never let it have the static lease back, I fought with it for months, it kept breaking my network for absolutely no reason and it was a nightmare.
Back to trusty old isc-dhcp-server for me. And of course bind for DNS, I’m a bit old-school but it’s very comfortable.
dnsmasq might be a lighter-weight and easier alternative you could consider, I think it does DHCP as well, convenient.
And of course, being a full Linux server means you can put all kinds of other stuff on it too. Stuff that needs to be both publicly visible and privately visible on the LAN seems like an obvious fit, but in fact it’s probably the worst place to put those services, because you run into issues with NAT hairpinning and other nonsense. For services that are strictly intended for the private LAN/VPN, or services that are strictly public facing, it can handle those just fine by restricting them to a specific interface. But you should avoid stuff that needs to listen on both sides of the connection, it can be done, but it’s tricky and annoying and not ideal.
If you need both internal and external access, port-forwarding from the outside through the NAT to another dedicated internal host is a much better solution if possible, it’s still a bit tricky (you may have to override the DNS for that domain internally to use the private IP instead of the public one) but it’s quite reliable and functional once you have it set up.
None of this is really for the faint of heart, it’ll likely require a fair bit of trial and error and physical access to the machine to resolve issues. But it’s a fun project and I think the end result is worth it.