I am planning to eventually build my own home server, and when I do I will hook it up via ethernet. But I do want to switch away from the generic FIOS router and use my own for more control over my data and security. Any recommendations?
Please don’t host a router on a Hypervisor VM. That does not benefit security.
First of all a router is an integral part of the (home) network, therefore it should not be dependent on anything, like a hypervisor. You want to be able to replace or update your server/ hypervisor independently from each other, for example in 5 hrs your router might be still rocking all data, but you would want to upgrade your home server / hypervisor.
Furthermore all those OpenWRT, PFsense, OpenSense kernel/ OS hardening is more effective on the hardware itself, especially all RAM/ Memory based security measures.
Also if you truly want to be more secure, you use dedicated hardware for multiple reasons, performance is dedicated to only routing/ firewall processing (no other service/ VM can block or slow down packet processing), reducing the attack surface (less software, less attack surface), easier to update.
This right here. get something cheap, throw opnsense or pfsense on it and start learning. It will probably be incredibly frustrating at first but when it starts to click then it is really fun and rewarding.
I bought an old dell r210ii years ago and threw pfsense on it then swapped to opnsense and could not be happier. It is still in use today, a good 6 years later.
Fujitsu Futro S720 with a 90° 4x PCI adapter and an Intel NIC. It consumes about 6W (maybe something more with the additional NIC).
You can get the former for about 20/30€ on eBay and the rest for about 30/40€.
If you have a VLAN enabled switch, you can even just use the onboard Ethernet port.
Everyone has some great recommendations. I didn't see anything about Ubiquiti so I'll throw it out there since I've had a good experience with them. The Dream Machine is for home/small office setups and is fairly inexpensive for what it does: https://store.ui.com/us/en/collections/unifi-dream-router.
Edit: it's now the dream router. They changed the name it seems.
I wish they had more 2.5G or even SPF+ options in this range. I'm lucky enough to have a >1gigabit home connection but router options are surprisingly limited if I want that full connection speed going to my server
They do have the XG series. I actually have a SW-16-XG for the backplane on my server for my SAN. Local access 10G using SFP+ ports are definitely doable if you don't need to cross any VLANs or do any routing.
I haven't used one personally but the cheapest they have is the Flex-XG switch it seems, which seems pretty cheap for 10G.
They work with existing Ubiquiti AP's no problem. I have the Dream Machine (I guess Dream router now) and it's awesome. Wish I got the Dream Machine Pro which is switch-like and comes with no AP's so you have to add them as needed and it supports cameras.
I have an older version but I think they all work pretty much the same. It should work fine for you depending on the brand/voltage of the APs you have currently.
My only complaint is that coming from a networking background, Ubiquity's OS is awful and makes me want to gouge my eyeballs out. Navigating the interface to find settings makes no sense, it's not very granular in how you can configure certain filtering settings, dual wan setups are difficult to manually change over, and good luck looking at logs to troubleshoot any traffic flow issues (hint: you can't).
For someone who just needs a firewall and a VPN endpoint, it's great. If you need anything more than that, get opnsense/pfsense. Pairing one of those with Ubiquity APs (which are actually pretty terrific) is a really solid setup.
You already have some good suggestions, so i just want to mention openWRT which can be flashed on off-the-shelf router combo (just check their supported devices first, if you go this route)
As a networking noob I spent more than a week configuring it to get it right, including needing to SSH into it because I flashed the wrong firmware (do not get NA and EU confused, the difference is enough to flat line your modem).
But in the end, I eliminated my bufferbloat with SQM; a feature the stock device lacked. I also set up a USB to act as expanded storage to install more software.
It also works on x86 and has better bufferbloat mitigation than the BSD based router systems (*sense), which means lower latency/pings under heavy WAN (internet) load.
My TP-Link ER8411 can't be flashed with OpenWRT even though their software is based on a very old version of it. :(
I have 10Gbps internet and can't find any 10Gbps routers that support custom firmware. Building a pfSense system that supports 10Gbps would be much more expensive and use more power than a router that has a purpose-built SoC.
I've used a very similar setup in the past (J1900 CPU, 4x1 Gbps network ports) and I only replaced it due to reasons. Not noticed any performance bottle necks with that setup.
The latest N100/N200/N300/N305 CPUs from Intel looks really interesting, similar performance as my workstation but at a 10th of the power usage. N305 also has 8 cores in a passively cooled case, amazing stuff!
I cannot recommend any consumer router brand, at least not with stock firmware, because any of them don’t have guaranteed update policy. Further, some of the stock firmware contains insecure protocols, like telnet (yes, still), outdated ciphers (SSL, TLS 1.0), and some feature you want is always missing. Further they often lack innovative features like WireGuard in updates, mostly bug fixes and security patches.
That’s why I would urge you to consider using one of the router/ gateway distributions listed below.
Depending on your requirements, I can recommend the following router OS:
OpenSense (router without WiFi)
OpenWRT (router with WiFi)
If you have an old laptop or pc to spare, you could at least give those two a try.
Someone already mentioned it, OpenSense runs only on x86 / PC Hardware (and MiPS). OpenWRT can be flashed onto a lot of consumer routers as well as be installed on traditional x86 / PC hardware.
OpenWRT has a hardware table on their website for supported models. Some of them come cheap if you buy them used and are pretty decent.
If you like more flexibility, I can recommend building your own router.
Used thin clients, Iike for example Fujitsu Futro S920. Thin clients are basically low-powered PCs, which are often cheap on the used market and provide a variety of hardware interfaces. Most use Intel NICs, some have secondary NIC, can hold SATA disks, provide interfaces for WiFi (pice, miniPCIe, m.2) or extension cards, have high efficient power supplies and are in majority are passive cooled.
Or get some SBC/ Low-Powered board with the interfaces you need. It doesn’t need to be new hardware.
I second OPNsense and Fujitsu Futro S720/920 (from €20/30 on eBay) with secondary NIC (or even router on a stick with VLAN enabled switch).
I'd leave WiFi to a dedicated AP.
It all depends on the features you want in that router and how much you’re willing to spend. I bought a MikroTik hAP ax3, which has many enterprise features (that can come handy to us selfhosters as well) that I found myself not necessarily needing, but definitely enjoying.
I'm using a ~30 USD thin client with a 4 port networking card (~20 USD), just using plain nftables on Debian. It routes handles my network just fine (complex rule set with many subnets & rules, 250/100 Mbps connection). Also using codel/cake for traffic shaping, avoiding lousy ping times even when downloading/streaming et c.
I use two TP-Link EAP 245v3 (ancient by now, but I can still use all my WAN speed from all rooms) for WiFi. Works great.
If I would redo it I'd use VyOS, OpenWRT or maybe OPNSense, but still using x86 hardware due to cost/power usage/performance. And then newer ceiling access points.
I just want to hate my life again when setting it up. But I'd also like to reconsolidate my VMs. Currently running a server and the router. My server hosts a few networking services.
I'd rather be able to turn off the big server when I'm out for work to save power.
So if I can run a lower powered router the the ability to run containers and VMs for network essential tasks, and then turn off my power hungry server for trips that can span a few weeks.
I just got a MikroTik RB5009UPr+S+in and I'm loving it so far. I'm going to pair it with their AX ceiling wireless AP if I can ever catch it on sale again.
I think this is the best homelab router out there. If you are new to Mikrotik there is definitely a steep learning curve.
Openwrt is fairly good too, but I think documentation can be lacking and confusing for some edge applications. My other concerns with openwrt is performance since it is compatible with a wide variety of hardware is difficult to know how it will perform without testing it.
I've had amazing luck with the Synology routers. You can start with one then if you want/need you add more to create a mesh network. I find the interface easy as well. My 2 cents of course...
Another vote for Synology here. I have 2 RT2600 and 1 RT1600 between myself and my parents houses. They have been completely bullet proof and the oldest one is going on 7 years old now.
My house was built in the golden age of having voip landlines that needed CAT 5e cable but before cell phones were the norm so I have a wired backhaul mesh.
Edit: it occurs to me you probably mean like a router-router being that this is self hosted lol. So disregard haha
I live in a town house with relatively good Wifi signal coverage with no extenders needed. I am planning on eventually paying a professional to get wall Ethernet ports installed so I can hook up my most network dependent devices (gaming desktop, gaming devices) and use the router with the rest that wouldn’t make sense to hook into Ethernet.
I'm a noob, but I'm running a Frirzbox router and it seems great to me.
0 problem in configuration and happened to have lots of useful features now that I'm exploring self hosting (it support woreguard VPN natively and have automatic wakeonlan feature for my server)
I always found the software updates of AVM - the manufacturer of those "Fritz!Box"es - to be of questionable quality. If you take a look at the source code that they have to release upon request of the GPL'ed source code they use, you'll notice that they use ancient versions of the Linux kernel, Busybox and other tools. By ancient, I mean many years old, unsupported by upstream for years. Also, they only publish those sources manually when someone asks for them, which doesn't bode well for their internal development processes. If they used CI/CD pipelines, they could easily push out updates of those sources with every new release…
Same with a lot of manufacturers, unfortunately. This is not uncommon. The manufacturers get the base software from the manufacturer of the SOC (system on a chip) used by the router. This software is usually from when the chip series was first in development, and they never update it.
TP-Link make great hardware that works well, but even their newest routers are based on a version of OpenWRT from 5+ years ago with a Linux 4.x kernel.
I’m a professional in software development, sometimes tasked with administration stuff.
At home I love my FRITZ!Box. The only thing I’m missing is DNS rewriting, but I can work around that. If you don’t know what that is you don’t need it anyway.
if you run a router on a computer like you suggest, can you also do other stuff with the computer like file serving? or is it a single function device for reasons of security or system resources?
theoretically you can install it as a VM on a computer that does many other stuff, but the more stuff it does, the more chances you need to take it down to reconfigure, reinstall, install updates and so on. When that computer is down, you're offline
My main router here is a RPi4 with 4GB memory, Debian and an USB interface for the connection to internet. The switches are Netgear (324 and a gifted 724) and tthe main server is an RPI 4 as well, but with 8G mem.
I’ve used this with much success (NanoPi r4s). It’s a mini board based off raspberry pi like system with an extra Ethernet out. It does not have Wi-Fi so you’d need to get an AP, but it’s swappable if you ever want to upgrade. With that and a switch for more Ethernet it’s fully open and customizable to put things like OpenWRT or whatever else you may want. Plenty of storage too.
Raspberry Pi 4 with a UE300 and OpenWrt can comfortably do 1 gig with SQM. I don't know if it's the most cost effective way to do it but it's one way and it's working well in 3 setups I'm looking after.
Here is something I wrote previously under a similar post:
"Check out the OpenWRT Table of Hardware, it has a list of firmware mod-able off the shelf WiFi routers that work with, you guessed it, OpenWRT. It's rather versatile as it's Linux based and can handle VLANs, multiple SSIDs, and of course, you can change the DNS servers."
As I said, OpenWRT is very versatile and runs on many different routers, just find one you like and install it! Many of the supported routers provide Gigabit switching, and some even have multigit for your server connection.
Not sure about your budget, but I switched to a udm se and it's pretty awesome, for me the benefit comes in with cameras and access control. the UI and off the shelf tooling is very nice with it.
Opensense is another more diy option.
I used an edge router 4 before the udm for a few years and it was pretty ok.