BeryJu/gravity

DHCP server hands out same IP when multiple clients connect simultaneously

Closed this issue · 1 comments

I have seen this happen a few times now, on more than one scope.

It appears to happen if more than one device is, for instance, restarted or added to the network at the same time.

The devices are listed separately under the scope, with distinct identifiers/ MAC addresses, different host names, but the same IPs.

Have seen this with up to 3 devices being given the same IP.

Workaround is to delete the 2nd, 3rd etc leases and prompt those devices to renew their DHCP lease. Then they are allocated a unique IP each.

I have three nodes set up.

Latest releases, running in docker using docker-compose.

Happy to supply any further info to help reproduce.

This also appears to happen when leases expire.

Devices are also being given IPs not on their subnet, which makes them inaccessible on a VLAN-segregated network.

I've had to abandon Gravity now as these issues make the network unusable. I really wanted to support given the independent nature of the project - and also for the redundant nodes design. But I can't if the key functions of a DHCP server don't function.

For anyone looking for an alternative DHCP server, I've switched to ISC's Kea: https://kb.isc.org/docs/isc-kea-packages

It offers official repos for most distributions / architectures.

There is no GUI but config is done through a JSON-formatted file, which has ample helpful comments and is well-supported in the documentation. Seems rock-solid so far.

[ISC offer an additional product called Stork as a self-hosted front-end, but I haven't tested this yet as I was focused on getting my network back to functional.]

Kea also offers high-availability through additional configuration using what they call a "hook", which is their plug-in framework. Again there is ample documentation and I hope to try this out soon.