Hi Darren, I created an issue on the ISC GitLab Instance for this problem:
https://gitlab.isc.org/isc-projects/kea/-/issues/3873 We had a brief discussion about this issue about 1-2 weeks ago. Kind regards, Chuck Zmudzinski On 4/23/2025 2:46 PM, Chuck Zmudzinski wrote: > Hello, > > I discovered this issue while preparing to migrate my virtual machine > and virtual network configuration from the old ISC server to KEA. This > problem is absent in the old ISC DHCPv4 server. > > A minimal network topology to illustrate the problem. Note the absence > of any switches, virtual bridges, etc. Just a very simple topology with > two Ethernet cables connecting three hosts: > > > +--------------------------+ > | | > 192.168.1.1/32 | Host A |192.168.1.1/32 > ___vif1.0_| KEA DHCP server for |_vif2.0___ > | | subnet 192.168.1.0/24 | | > | +--------------------------+ | > | | > | | > eth0 eth0 > +-------------------------- +--------------------------+ > | | | | > | Host B | | Host C | > | DHCP client 1 | | DHCP client 2 | > | | | | > +-------------------------+ +--------------------------+ > > The expected behavior is that if we configure KEA to listen > on both vif1.0 and vif2.0 with a section in the kea-dhcp4.conf > file like this, both clients will be served with an IPv4 > configuration: > > "interfaces-config": { > "interfaces": [ "vif1.0", "vif2.0" ], > "dhcp-socket-type": "raw" > }, > > The actual behavior is that only Host B, client 1, which > is connected to the first interface listed in the "interfaces" > specification of the config file, receives an IPv4 configuration. > > If we reverse the order of the interfaces like this: > > "interfaces": [ "vif2.0", "vif1.0" ], > > then only Host C, client 2, which is now the client connected to > the first interface listed, vif2.0, gets an IPv4 configuration. > > The ISC DHCP client handles this configuration perfectly and > serves both clients without any problem. > > The workaround to cause the KEA server to also be able to serve > both clients is simply to assign vif2.0 a different address, > such as 192.168.1.2. After doing that and reloading the configuration, > Host C, client 2 finally also receives its configuration. > > IMHO, this is not an acceptable workaround. I also discovered that > for each additional interface I added to serve another directly > connected client, it was necessary to use another address, such > as 192.168.1.3, for that next interface on the server, which in > this case would be vif3.0. With the old ISC client, I could assign > the same address to all three interfaces, which in this example is > 192.168.1.1. So with the old ISC server, I only need to use N + 1 > addresses to serve N clients, but with KEA, I need to use 2*N addresses. > This substantially reduces the pool of addresses from 192.168.1.0/24 > that would be available for clients from 253 down to 126. The other > 126 would need to be wasted on Host A, the KEA DHCP server. > > More details and a likely cause of this issue in this previous > message: > > https://lists.isc.org/pipermail/kea-users/2025-April/005506.html > > Kind regards, > > Chuck Zmudzinski > -- ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information. To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. Kea-users mailing list Kea-users@lists.isc.org https://lists.isc.org/mailman/listinfo/kea-users