Oops.  First let me apologize for an extra layer of complexity and
confusion.  I started out with the entries for the system "twister" because
it wasn't currently available and I didn't have to worry about corrupting
its entries.  Then when I got to the point that I wanted to be able to try
stuff out, I switched to "bringebaer".  There are no entries that need to
mix these two strings - they should all be one or the other.

So - I tried this out:
    "reservations-global": true,
    "reservations": [
      {
        "hostname": "bringebaer",
        "ip-address": "192.168.1.57",
        "client-id": "'bringebaer'"
      }
    ]

So - then I did the syntax check:

root@remo:/home/john/xfer # !kea
kea-dhcp4 -t kea-head.conf
2025-02-09 16:39:51.055 INFO  [kea-dhcp4.hosts/3198.0x2cae30212000]
HOSTS_BACKENDS_REGISTERED the following host backend types are available:
2025-02-09 16:39:51.088 WARN  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000]
DHCPSRV_MT_DISABLED_QUEUE_CONTROL disabling dhcp queue control when
multi-threading is enabled.
2025-02-09 16:39:51.088 WARN  [kea-dhcp4.dhcp4/3198.0x2cae30212000]
DHCP4_RESERVATIONS_LOOKUP_FIRST_ENABLED Multi-threading is enabled and host
reservations lookup is always performed first.
2025-02-09 16:39:51.101 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000]
DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration:
192.168.1.0/24 with params: valid-lifetime=2592000
2025-02-09 16:39:51.125 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000]
DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT using socket type raw
2025-02-09 16:39:51.127 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000]
DHCPSRV_CFGMGR_ADD_IFACE listening on interface ue0
2025-02-09 16:39:51.128 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000]
DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT "dhcp-socket-type" not specified , using
default socket type raw

No errors!  Tomorrow I'll have to munge all the entries and try it out.

Thank you!

On Sun, Feb 9, 2025 at 4:38 AM Darren Ankney <darren.ank...@gmail.com>
wrote:

> Hi John,
>
> That is really interesting that this:
>
> host bringebaer { fixed-address bringebaer.starfire.mn.org;
>         option dhcp-client-identifier "bringebaer";
>  }
>
> somehow matches the client-identifier
> (https://www.rfc-editor.org/rfc/rfc2132#section-9.14).  ISC DHCP man
> page does say that you can match the dhcp-client-identifier option in
> a host object:
> https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcpd#the-host-object
> Kea can too (
> https://kea.readthedocs.io/en/kea-2.6.1/arm/dhcp4-srv.html#fine-tuning-dhcpv4-host-reservation
> ):
>
> "Kea currently supports four types of identifiers: hw-address, duid,
> client-id, and circuit-id."
>
> Perhaps this:
>
>     {
>         "hostname": "bringebaer",
>         "ip-address": "192.168.1.57",
>         "client-id": "'twister'"
>       },
>
> (note the single quotes around twister inside the double quotes) but
> you might want to perform a packet capture to confirm that your client
> actually has a hostname in the client-id field.  I've not seen that
> previously.  Option 61 normally isn't present at all or contains the
> mac address.  But if this was working in ISC DHCP perhaps these are
> some devices I've not paid attention to before.
>
> Thank you,
> Darren Ankney
>
> On Sat, Feb 8, 2025 at 3:34 PM John Lind <steinhel...@gmail.com> wrote:
> >
> > I apologize - there's a typo in the subject line.  It should be
> dhcp-client-identifier (with an "r" at the end, not a "d').
> >
> > Anyway, I tried running "kea-dhcp4 -t" on one of these files and got
> this back:
> > 2025-02-08 14:18:27.503 ERROR [kea-dhcp4.dhcp4/94820.0x50554e412000]
> DHCP4_PARSER_FAIL failed to create or run parser for configuration element
> reservations: one of the supported identifiers must be specified for host
> reservation: circuit-id, client-id, duid, flex-id, hw-address
> (kea-head.conf:135:7)
> > Error encountered: one of the supported identifiers must be specified
> for host reservation: circuit-id, client-id, duid, flex-id, hw-address
> (kea-head.conf:135:7)
> > So - I don't see anything in that list that would correspond to what
> I've been doing with ISC-dhcp. I tried making up the syntax for client ID,
> and it didn't like that, either...
> >       {
> >         "hostname": "bringebaer",
> >         "ip-address": "192.168.1.57",
> >         "client-id": "twister"
> >       },
> > And the parser said:
> >
> > 2025-02-08 14:32:29.031 ERROR [kea-dhcp4.dhcp4/94837.0x5775ffa12000]
> DHCP4_PARSER_FAIL failed to create or run parser for configuration element
> reservations: invalid host identifier value 'twister' (kea-head.conf:135:7)
> > Error encountered: invalid host identifier value 'twister'
> (kea-head.conf:135:7)
> >
> >
> > On Sat, Feb 8, 2025 at 12:50 PM John Lind <steinhel...@gmail.com> wrote:
> >>
> >> Hey, all.  I've spent hours watching recorded webinars, reading
> documentation, and doing web searches in vain to try to figure out how to
> get these reservations to work in kea.
> >>
> >> For some of my devices / systems I like to use a value sent by the
> client rather than the hardware address to match them to a reservation.
> This is especially useful in two cases
> >> 1) when I don't know the MAC address
> >> 2) when a device has different ways of connecting to my network (WiFi
> versus hardwired, and maybe different ethernet ports) but I want it to get
> the same IP address regardless of how it connects.
> >>
> >> For reference, here's how the values appear in the ISC dhcp leases file
> when there's not a reservation (yet).
> >>
> >>         client-hostname "MyQ-5C9";
> >>         client-hostname "casper";
> >>         client-hostname "StreamingStick4K-ET5";
> >>         client-hostname "Pixel-6a";
> >>         client-hostname "Paige-s-S23-Ultra";
> >>         client-hostname "Milea-s-S20-FE";
> >>         client-hostname "DESKTOP-7424SLE";
> >>         client-hostname "Pixel-8-Pro";
> >>         client-hostname "Pixel-7a";
> >>
> >> Here's an example of how I represent that in the dhcpd.conf file:
> >>  host bringebaer { fixed-address bringebaer.starfire.mn.org;
> >>         option dhcp-client-identifier "bringebaer";
> >>         }
> >> So, of course, keama is going to translate the FQDN to an IP address,
> but the rest of what it does doesn't seem like what I want:
> >>
> >>       {
> >>         "hostname": "bringebaer",
> >>         "ip-address": "192.168.1.57",
> >>         "option-data": [
> >>           {
> >>             "space": "dhcp4",
> >>             "name": "dhcp-client-identifier",
> >>             "code": 61,
> >> //          "original-data": "\"bringebaer\"",
> >>             "csv-format": false,
> >>             "data": "6272696e676562616572"
> >>           }
> >>         ]
> >>       },
> >> Note - the "data" in the option is actually a string of hex digits
> which truly does spell out "bringebaer" but I really think that keama is
> mapping dhcp-client-identifier to completely the wrong thing.
> >>
> >> If anyone can set me on the right course, I sure would appreciate it.
> >>
> >> --
> >> John Lind
> >> steinhel...@gmail.com
> >>
> > --
> > 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
> --
> 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
>
-- 
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

Reply via email to