I have been running ISC dhcpd and I want to cut over to "kea" on my next server swap. I'm finding it very painful. One gotcha that I've been fortunate enough to avoid by a random search hit is that you CANNOT specify the interface to listen to on the command line, it has to go in the JSON config file. There's some question of whether I need it at all or whether it can infer it from the subnet declaration, which would be totally cool. You could use FQDN in dhcpd, but you need the actual MAC address for kea, but that is one thing that the migration tool is really nice for. My current problem, however, is the "dhcp-client-identifier" conversion. Has anyone found a way for kea to handle this? The kea migration tool does not consider this option an error, but it interprets it totally wrong and simple specifies the host name as a string of hexadecimal digits, which has no value that I can see. Also - is there like a GIT hub forum for this thing? Or something on ISC's web site? I'm not that interested in getting a subscription for my 6-server network...
I switched to kea for IPv4 in December 2024. So far it seems to be running fine on my home network with 10 VLANs. Yes, it took some doing and I initially did all my experimenting in a Windows-hosted, VirtualBox VM running FreeBSD v14.2. Yes, the listen interface(s) are specified in the JSON config file; each VLAN having its own interface (igb1, igb1.10, igb1.20, etc). I prefer to declare most everything rather than letting kea try to infer anything.
I only invoke MAC addresses in the JSON config file when setting up reservations. You should still define a FQDN in kea so the dhclient program can grab it for the resolvconf program to write out the /etc/resolv.conf file.
You are using some terms I'm not familiar with, such as "6-server network..." - do you mean an IPv6 network? I'm still working on kea for IPv6 stateful dhcp - slow going due to issues my Windows desktop has with doing DNS lookups (defaults to trying IPv6 first). Not sure what this means, "dhcp-client-identifier".
I used the kea migration tool to get an idea of what kea wants to see in the JSON config file, then after reading and rereading the kea documentation through the month of November and starting/restarting kea while watching the various logfiles was able to get rid of all the errors. I found the lease file migration tool to be fairly useless. The migration tool for IPv6 configuration was completely worthless.
The kea documentation is worlds better than is the documentation for isc-dhcpd. I don't have a subscription for kea.
Found one Youtube video done by one of the kea team members. It had a little useful info in it (by then I'd read the kea documentation several times.) Found a number of blogs about kea, most with non-helpful info and some with frankly wrong info.
Oh, I should add that my primary reason for switching to kea was because of the vastly superior handling of the lease files. My isc-dhcpd lease files were pushing 50k in size (running many years) and kea's "lease file cleanup" routine is wonderful.
HTH.