Pihole as DHCP server: pros and cons

I'm pretty annoyed with my routers DHCP server (from time to time it forgets mac-addresses for static IPs and the UI is a nightmare) so I'm considering using pihole (which I'm already using as DNS server) as my DHCP server. So I'm wondering: what are the pros and (especially) the cons of doing so?

Pihole is running in a docker container on my home server which is meant to be on 24/7 but stuff happens so that in terms of uptime, I don't think it can beat my router. Also, when my home server is down, that means something is wrong and I need to troubleshoot and I don't want to have to fix my dhcp server before being able to actually start troubleshooting.

On the other hand: since I dared - for the time being - to make pihole my only DNS server (with no redundancy), server downtime is going to affect network functionality anyway, so perhaps it makes no difference if I also make it my dhcp server? Or is there a way to make my router take over these services whenever pihole is down? (yes, I know, this I should probably direct this last question to the user manual for the router, but, believe it of not, the manufacturer is not making it publicly availaible.)

You may find Pi-hole's DHCP UI even more basic than your router's.

It is specifically aimed at users who have no other choice but to resort to Pi-hole as DHCP because their router wouldn't allow any DNS configurations to cooperate wiht Pi-hole.

But if you are an advanced user or are willing to familiarise yourself with Pi-hole's embedded DNS and DHCP server dnsmasq, you may find that you can configure DHCP via options in configuration files in more ways than your router may allow you.

Depending on your router's features, it still may be advantageous in many cases to leave DHCP with the router, as it may have both better information on and control of basic networking features (e.g. VLANs).

As far as 24/7 availability is concerned, losing your DNS server most likely is way more critical and immediate than losing your DHCP server.
The first is almost instantaneous with any client sending a DNS request., the latter won't be noticed until a client requests or renews a DHCP lease. That could be hours or even days for connected clients (my router's default lease time was ten days, e.g.), while newly connecting clients of course won't be able to join your network straight away.

That said, both services are critical nonetheless.
But if you choose to trust Pi-hole with DNS, you won't run any increased outage risk by handing DHCP to it also.

Redundancy is easier to achieve with DNS only: Just set up a second Pi-hole and distribute both their IPs as local DNS.

For DHCP, you'd have to limit the DHCP address ranges and make sure they do not overlap to avoid possible address conflicts, and of course they'd have to distribute both your Pi-holes as DNS servers.

This way, you may also keep your router's DHCP server active as a sort of fail-over, but note that a client chooses which DHCP lease its going to accept - and your router may e.g. not allow you to distribute two local DNS servers of differ otherwise from Pi-hole.
All considered, I wouldn't recommend such a strategy for DHCP.
Having either Pi-hole handle DHCP or your router seems the clearer choice.

2 Likes

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.