I apologize if this is formatted incorrectly, as this is the first post I have ever made on any forum asking for help. I have never run into an issue that was unique (no other posts on any related forum about the same or tangentially related problem). I assume this is user error, but the behavior is strange enough that it might not be.
Expected Behavior:
Pi-hole should dynamically allocate IP addresses when acting as a DHCP server.
- 64bit pi-os lite (headless version of 64bit pi-os)
- Pi4, 8gb, 0.5tb disk
- Installed via download and install script
Actual Behavior:
Pi-hole is not dynamically allocating IP addresses but is allocating statically set IP addresses. To state another way to avoid confusion: a client is set to DHCP, and Pi-hole correctly assigns it an IP address when Pi-hole is told to give that client a specific, static IP based on its MAC address, but if Pi-hole is not used to assign a static IP to that client, it will not issue an IP address to that client device dynamically.
Obviously port 67 is open (otherwise static IP addresses set via Pi-hole would not be given to respective machines asking for an IP via DHCP). The box for telling Pi-hole to only allocate IPs to known devices is NOT checked; checking, saving, unchecking, and saving again has no effect. IP range is not overly large (pretty typical 255.255.0.0 net mask). Pi-hole is set to dynamically allocate IPs ranging from 10.0.100.1 to 10.0.255.254. There are no other DHCP servers on the network that PI-hole is attached to and running on. DHCP guarding via top level inward-facing firewall has no effect on this behavior, but is disabled in order to remove any issues potentially caused by it. Once a device is connected via static IP assignment from Pi-hole, it is allocated the proper net mask, gateway, and can see other devices on the network in addition to accessing the internet. The only other service running on the Pi-hole server, other than default systemd services from the OS, is Unbound. Unbound works as expected in all capacities and is both seen and used by devices handed IPs statically by Pi-hole.
This error occurred after a power supply failure killed my previous pi that was running Pi-hole + Unbound without this issue. Previous Pi was the same hardware (Pi4, 8gb, 0.5tb disk). I am on all new hardware (pi, hard drive, power supply) and running a fresh install of Pi-hole following official docs exactly. Teleport from the old server was tested and had no effect on this issue vs manual configuration.
An interesting bit of unexpected behavior is that if I assign a device a static IP on Pi-hole (one which does not dynamically change is MAC address), allow it to connect, delete the static assignment from Pi-hole but leave the timed IP lease, disconnect and then reconnect the same device, that device will not be handed an IP by Pi-hole and will remain disconnected from the network even though Pi-hole has an active DHCP lease for that device.
I have never seen behavior like that from any DHCP server and am at a loss for what could cause it.
There is no debug token or error recognized by Pi-hole so I assume there is either a bug causing this or it is user error. (also I have no debug token to report) Normally it is user error, so I would like to rule that out prior to chasing down a bug that is not there.
Any help would be highly appreciated as I am completely stumped.
Debug Token:
No debug token was created by the system.