[Kea-users] Ddns not Updated when hostname is assigned via hw-address when using hook libdhcp_ddns_tuning.so
Peter Davies
peterd at isc.org
Thu Jan 8 13:47:19 UTC 2026
Hi Joop,
What value do you have "ddns-replace-client-name" configured to?
Sending a DHCPDiscover with no hostname (option 12), I see the hostname
created
by the ddns-tuning hook being sent back to the client and forwarded to
kea-dhcp-ddns.
Using "ddns-replace-client-name": "always", and the previous
"hostname-expr".
--- paste---
msg_type=DHCPACK (5), trans_id=0xa47b2617, secs=0, flags=0x0,
yiaddr=192.168.20.100, giaddr=192.168.20.1,
options:
type=001, len=004: 4294967040 (uint32)
type=003, len=004: 192.168.20.1
type=012, len=034: "vm-test-192-168-20-100.example.com" (string)
type=051, len=004: 7200 (uint32)
type=053, len=001: 5 (uint8)
type=054, len=004: 192.168.10.1 (ipv4-address)
type=082, len=016:,
options:
type=001, len=014: 76:65:74:68:2d:72:65:6c:61:79:2d:63:6c:69
'veth-relay-cli'
...
2026-01-08 13:42:54.089 DEBUG [kea-dhcp4.dhcpsrv/143967.139899928512384]
DHCPSRV_DHCP_DDNS_NCR_SENT NameChangeRequest sent to kea-dhcp-ddns:
Type: 0 (CHG_ADD)
Forward Change: yes
Reverse Change: yes
FQDN: [vm-test-192-168-20-100.example.com.]
IP Address: [192.168.20.100]
DHCID:
[000001F868E6B22D81DAFE0535549E8A960F055026EA04BF615B53D5A1CE0479A4CD98]
Lease Expires On: 20260108142254
Lease Length: 2400
Conflict Resolution Mode: no-check-with-dhcid
---/paste---
/Peter
On 08/01/2026 12.02, Joop Boonen wrote:
> Hi Peter,
>
> The Problem is, as it looks like. If there is no hostname reserveration. (flex-
> id or hardware address etc).
> The hostname-expr doesn't have any effect.
> Therefor no ddns entry is written in dns.
>
> Regards,
>
> Joop.
>
> On Thursday, January 8, 2026 10:13:58 AM Central European Standard Time Peter
> Davies wrote:
>> Hi Joop,
>> Could you try this "hostname-expr" in your ddns-tuning parameters:
>> "hostname-expr" : "'vm-test-' +
>> uint8totext(substring(option[50].hex,0,1)) + '-' +
>> uint8totext(substring(option[50].hex,1,1)) + '-' +
>> uint8totext(substring(option[50].hex,2,1)) + '-' +
>> uint8totext(substring(option[50].hex,3,1))"
>> You need not define a flex-id or load the flex-id hooks library if you
>> do not use host reservations that depend on flex-ids's
>> /Peter
>>
>> On 06/01/2026 14.42, Peter Davies wrote:
>>> "hostname-expr" : "concat('vm-test-',addrtotext(option[50].hex))"
--
Peter Davies
Support Engineer
Internet Systems Corporation
More information about the Kea-users
mailing list