[Kea-users] from isc dhcp classes -> kea 3.0
Gregor Kling
gregor.kling at its.thm.de
Thu Nov 20 10:11:55 UTC 2025
Hi Darren,
Deciding the reservation model
9.3.9. Global Reservations in DHCPv4 describes in general our
setup. Clients generally can roam in our network based on the
attributed "pool class" to the specific mac address and the
"accessability" of the specific network.
The following section:
#+begin_quote 9.3.9. Global Reservations in DHCPv4:
An address assigned via global host reservation must be feasible for the
subnet the server selects for the client. In other words, the address
must lie within the subnet; otherwise, it is ignored and the server will
attempt to dynamically allocate an address. If the selected subnet
belongs to a shared network, the server checks for feasibility against
the subnet's siblings, selecting the first in-range subnet. If no such
subnet exists, the server falls back to dynamically allocating the address.
#+END_quote
with the given example:
#+begin_quote
"Dhcp4": {
# This specifies global reservations.
# They will apply to all subnets that
# have global reservations enabled.
"reservations": [
{
"hw-address": "aa:bb:cc:dd:ee:ff",
"hostname": "hw-host-dynamic"
},
{
"hw-address": "01:02:03:04:05:06",
"hostname": "hw-host-fixed",
# Use of IP addresses in global reservations is risky.
# If used outside of a matching subnet, such as 192.0.1.0/24,
# it will result in a broken configuration being handed
# to the client.
"ip-address": "192.0.1.77"
},
{
"duid": "01:02:03:04:05",
"hostname": "duid-host"
},
{
"circuit-id": "'charter950'",
"hostname": "circuit-id-host"
},
{
"client-id": "01:11:22:33:44:55:66",
"hostname": "client-id-host"
}
],
"valid-lifetime": 600,
"subnet4": [
{
"id": 1,
"subnet": "10.0.0.0/24",
# Specify if the server should look up global reservations.
"reservations-global": true,
# Specify if the server should look up in-subnet reservations.
"reservations-in-subnet": false,
# Specify if the server can assume that all reserved addresses
# are out-of-pool. It can be ignored because
"reservations-in-subnet"
# is false.
# "reservations-out-of-pool": false,
"pools": [ { "pool": "10.0.0.10-10.0.0.100" } ]
}
]
}
#+end_quote
contradicts (at least at my current understanding) with:
https://kea.readthedocs.io/en/kea-3.0.2/arm/dhcp4-srv.html#host-reservations-in-dhcpv4
(9.3. Host Reservations in DHCPv4)
#+begin_quote
Making a reservation for a mobile host that may visit multiple subnets
requires a separate host definition in each subnet that host is expected
to visit. It is not possible to define multiple host definitions with
the same hardware address in a single subnet. Multiple host definitions
with the same hardware address are valid if each is in a different subnet.
#+end_quote
that wants a reservation at the subnet level.
Then there is also the part:
#+begin_quote
# Specify if the server should look up global reservations.
"reservations-global": true,
# Specify if the server should look up in-subnet reservations.
"reservations-in-subnet": false,
#+end_quote
where in
https://kea.readthedocs.io/en/kea-3.0.2/arm/dhcp4-srv.html#fine-tuning-dhcpv4-host-reservation
(9.3.8. Fine-Tuning DHCPv4 Host Reservation) it is explained
that in the setup using resertations-global deactivates the use of
reservations-in-subnet anyway (so why is it even defined):
#+begin_quote 9.3.8. Fine-Tuning DHCPv4 Host Reservation
{
"Dhcp4": {
"reservations-global": true,
"reservations-in-subnet": false
}
}
#+end_quote
Right this mail is already to big, so i will postpone my questions on
the decision diagram in 9.3.8. Fine-Tuning DHCPv4 Host Reservation.
gg
On 11/20/25 9:52 AM, Gregor Kling wrote:
> Hi Darren,
>
>
> On 11/19/25 3:58 PM, Darren Ankney wrote:
>> Hi Gregor,
>>
>> That *should* work, but you don't have to do it that way. You could
>> specify the reservation globally, set `"reservations-global": true`
>> (https://kea.readthedocs.io/en/stable/arm/dhcp4-srv.html#fine-tuning-dhcpv4-host-reservation)
>>
>> and specify whatever classes are necessary in "client-classes" so that
>> you would only need to have one entry per client. This may reduce
>> performance but see here: https://reports.kea.isc.org/ for Kea
>> performance numbers, perhaps it is not a concern?
>
> Actually this is the part where i am right now trying to wrap my head
> around.
>
> It is totally unclear to me if reservations-in-subnet or
> reservations-global is what i should use.
>
> I guess you will hear from me for this one as well :)
>
>
> gg
>
>
>> Thank you,
>> Darren Ankney
>>
>> On Wed, Nov 19, 2025 at 4:16 AM Gregor Kling
>> <gregor.kling at its.thm.de> wrote:
>>> Hello,
>>>
>>>
>>> On 11/18/25 10:13 AM, Gregor Kling wrote:
>>>> If i am understanding correctly, i'll have to to put
>>>>
>>>> #+begin_quote
>>>> "hw-address": "a1:bb:cc:dd:ee:ff",
>>>> "client-classes": [ "pool_name_1", "pool_name_etc" ]
>>>> #+end_quote
>>>>
>>>> (without ip-address) in every subnet reservations block where i want
>>>> to have the system with the mac address: "a1:bb:cc:dd:ee:ff"
>>>> get an address from the "matching" dynamic pool?
>>>>
>>> To answer myself:
>>>
>>> https://kea.readthedocs.io/en/kea-3.0.2/arm/dhcp4-srv.html#host-reservations-in-dhcpv4
>>>
>>>
>>>
>>> is clear about that:
>>>
>>> #+begin_quote
>>> Making a reservation for a mobile host that may visit multiple subnets
>>> requires a separate host definition in each subnet that host is
>>> expected
>>> to visit. It is not possible to define multiple host definitions with
>>> the same hardware address in a single subnet. Multiple host definitions
>>> with the same hardware address are valid if each is in a different
>>> subnet.
>>> #+end_quote
>>>
>>>
>>> gg
>>>
>>> --
>>> Gregor Kling
>>>
>>> Abteilung ITS, Sachgebiet ITS-N
>>> Technische Hochschule Mittelhessen
>>> University of Applied Sciences
>>> Tel: 0641/309-1292
>>> E-Mail: gregor.kling at its.thm.de
>>>
>>> --
>>> 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 at lists.isc.org
>
>
--
Gregor Kling
Abteilung ITS, Sachgebiet ITS-N
Technische Hochschule Mittelhessen
University of Applied Sciences
Tel: 0641/309-1292
E-Mail: gregor.kling at its.thm.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4684 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20251120/099f56c5/attachment-0001.p7s>
More information about the Kea-users
mailing list