I'm looking at getting a gateway device to replace the ISP router that sits between the internet connection and the mesh WiFi.
I am running pi-hole on a (very old) raspberry pi, but I know some gateways get quite fancy so I'm wondering if it's possible to have pi-hole on the gateway itself, to run as DNS and DHCP servers?
Other things I'm looking for in a gateway are VPN as a client (preferably Wireguard) and PoE ports for cameras.
If it's possible to host something like pi-hole directly on the gateway then hardware recommendations are appreciated!
I think its better to keep your gateway basic, and run extra services on a separate raspi or similar. Let your router/gateway focus on routing packets.
Most of the more advanced gateways have some sort of DNS filtering built in. Opnsense has an adguard plugin, pfsense has pfblocker-ng, openwrt has a few different options, Unifi and mikrotik both have solutions too I think. Usually you can just load the same block list that pihole uses into the filtering software and you are good to go.
If you want the most flexibility and want to use the same hardware for both gateway/DNS and want to try out different DNS/router solutions a hypervisor would give you the most options. But it would also be the most complicated.
One of the things I use pi-hole for is to set customer DNS entries so anyone on the network will be redirected directly to the self hosted services when the type in the appropriate domain name. So it's not just about the filtering (which I also want), but also the (network wide) custom DNS entries.
I'm also happy with simple. I'm not overly against keeping the pi-hole and gateway separate but was just wanting to know if combining them would be an option (which is sounds like it is, but not super easy).
Both opnsense and pfsense allow custom DNS entries so you still have that as an option. Probably the other options do too but you'll just have to verify.
But if you want to keep it simple I would just keep the pihole as a separate device. A lot of the built in options aernt quite as easy to setup and don't have the best UI compared to pihole IMO.
The easiest part of your requirements are the custom DNS records. All of the platforms recommended so far can do this. OpenWRT has the advantage of WiFi capabilities. If you want the router to also be your WiFi access point then it may be your best option. But it sounds like you only need it to be a wired router, which is good.
As far as the ad blocking, I have done this with pi-hole, and with the built-in DNS and block capabilities of OpenWRT, Mikrotik and OPNSense. They are all fine. The router ones don't have the fancy web UI like pi-hole. So if you use that a lot you will be disappointed. Mikrotik's is the most basic and a new feature for them, but they are actively developing it. Plus their current routers can run containers, so you can run pi-hole on the router as a container if you want.
PoE ports as a requirement is what narrows your options considerably I think. You could get that from a separate switch. If you want that in the router itself then you have very few options.
Mikrotik has a lot of routers with PoE out. Their newest model in the RB5009 series can do either passive or 802.3af/at PoE out. Many of their older routers have passive PoE only. Make sure you know what your cameras need.
It has PoE out available on all 8 Ethernet ports. The default 48v power supply works with 802.3af/at PoE. It is a 96 watt supply, and can support ~76 watts of PoE downstream. If you need passive PoE then you would need to change to a 24v power supply.
Mikrotik RouterOS requires some learning to use its advanced features, but their quick setup defaults are good. And the platform is super reliable and flexible.
For DNS you would use their Adlist functionality along with a script similar to the one from BartoszP in this thread to enable DNS name resolution for lan hosts: https://forum.mikrotik.com/viewtopic.php?t=181640. That script is added to the DHCP server config to run when each client gets an address lease. And then you would add static name records in IP / DNS / Static for the other host.domain names you want your lan devices to connect to by name which can't be resolved via your upstream DNS server.
Thanks for all the info and the detailed response!
But it sounds like you only need it to be a wired router, which is good.
Correct, don't need wifi.
PoE ports as a requirement is what narrows your options considerably I think
I'm happy with doing this through a separate switch, but I'm happier if I can have less things to plug in. It's not a must have though.
Mikrotik has a lot of routers with PoE out. Their newest model in the RB5009 series can do either passive or 802.3af/at PoE out. Many of their older routers have passive PoE only. Make sure you know what your cameras need.
I don't have cameras yet, but I'm considering some Reolink ones. Happy to take suggestions. Am I likely to find a lot of difference in the PoE type or are most things compatible with each other?
As someone who is also a fan of having less things to plug in I must say, one pitfall of having an all-in-one device is that if it fails then EVERYTHING fails and you're left having to replace a (probably expensive, possibly hard to get) all-in-one device.
If you're buying new cameras they'll be 802.3af PoE. Passive is becoming much less common. So that model router I linked would work great.
I think if you're a moderately technically inclined person you would be happy with that solution. If you are intimidated at the idea of writing or adapting some scripts, I would probably recommend a router on one of the other platforms plus a PoE switch.
Not sure if it's exactly what you're after, but Unifi gateways can install NextDNS with a script provided by NextDNS. It's all the same lists as Pi-Hole, and possibly more intelligent ones, too. Bonus points are it makes every device in your home use encrypted DNS, as well!
I'm using it on a Dream Machine Pro, and the new Cloud Gateway Ultra.
I had been considering the Dream Machine Special Edition, though the website lists it as $500 but it's gonna cost more like $750USD if I get it locally 😅. At least it's available locally though, unlike some of the others listed in this thread which are gonna be hard to get.