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