[Kea-users] DDNS doesn't update local zone

Alessandro Vesely vesely at tana.it
Tue Nov 11 16:49:06 UTC 2025


Hi Darren,

thanks for taking care.

One day after, all the other three clients have renewed (I can see the updated expire time in dhcp4.csv[.2].)  All I have in the logs is this:

Nov 10 12:08:17 190 north kea-dhcp-ddns: INFO  [kea-dhcp-ddns.dctl.140480598193344] DCTL_STARTING DhcpDdns starting, pid: 15727, version: 2.6.3 (stable)
Nov 10 12:23:45 190 north kea-dhcp4: INFO  [kea-dhcp4.dhcp4.140607992743872] DHCP4_STARTING Kea DHCPv4 server version 2.6.3 (stable) starting
Nov 10 12:23:45 190 north kea-dhcp4: INFO  [kea-dhcp4.commands.140607992743872] COMMAND_RECEIVED Received command 'config-set'
Nov 10 12:24:55 190 north kea-dhcp4: INFO  [kea-dhcp4.dhcp4.140458599126976] DHCP4_STARTING Kea DHCPv4 server version 2.6.3 (stable) starting
Nov 10 12:24:55 190 north kea-dhcp4: INFO  [kea-dhcp4.commands.140458599126976] COMMAND_RECEIVED Received command 'config-set'
Nov 10 12:25:45 190 north kea-dhcp4: INFO  [kea-dhcp4.dhcp4.140267918301120] DHCP4_STARTING Kea DHCPv4 server version 2.6.3 (stable) starting
Nov 10 12:25:45 190 north kea-dhcp4: INFO  [kea-dhcp4.commands.140267918301120] COMMAND_RECEIVED Received command 'config-set'
Nov 10 12:47:54 190 north kea-dhcp-ddns: INFO  [kea-dhcp-ddns.dctl.140298412311744] DCTL_STARTING DhcpDdns starting, pid: 17117, version: 2.6.3 (stable)

DHCP dialog, as shown by dhcpdum running on the server, looks fine.

Both commands are running with option -c <their config file>.  The logging section for one:

		"loggers":
		[
			{
				// This section affects kea-dhcp4, which is the base logger for DHCPv4
				// component. It tells DHCPv4 server to write all log messages (on
				// severity INFO or more) to a file.
				"name": "kea-dhcp4",
				"output_options":
				[
					{
						"output": "syslog:local7",

						// Default is "%-5p [%c.%t] %m\n";
						// %-5p The severity of the message
						// %c The log source. This includes two elements: kea-dhcp4 and library.
						// %i The process ID.
						// %t The thread ID.
						// %m The log message itself.

						"pattern": "%m\n",

						// This governs whether the log output is flushed to disk after
						// every write.  The default is true (?)
						"flush": false

						// This specifies the maximum size of the file before it is
						// rotated.
						// "maxsize": 1048576,

						// This specifies the maximum number of rotated files to keep.
						// "maxver": 8
					}
				],
				// This specifies the severity of log messages to keep. Supported values
				// are: FATAL, ERROR, WARN, INFO, DEBUG
				"severity": "DEBUG",

				// If DEBUG level is specified, this value is used. 0 is least verbose,
				// 99 is most verbose. If severity for the logger is not DEBUG, this
				// value is ignored.
				"debuglevel": 99
			}
		]

For the other:

   "loggers": [
     {
         // This specifies the logging for D2 (DHCP-DDNS) daemon.
         "name": "kea-dhcp-ddns",
         "output-options": [
             {
                 // Specifies the output file. There are several special values
                 // supported:
                 // - stdout (prints on standard output)
                 // - stderr (prints on standard error)
                 // - syslog (logs to syslog)
                 // - syslog:name (logs to syslog using specified name)
                 // Any other value is considered a name of the file
                 "output": "syslog:local7",

                 // Shorter log pattern suitable for use with systemd,
                 // avoids redundant information
                 "pattern": "%m\n"

                 // This governs whether the log output is flushed to disk after
                 // every write.
                 // "flush": false,

                 // This specifies the maximum size of the file before it is
                 // rotated.
                 // "maxsize": 1048576,

                 // This specifies the maximum number of rotated files to keep.
                 // "maxver": 8
             }
         ],
         // This specifies the severity of log messages to keep. Supported values
         // are: FATAL, ERROR, WARN, INFO, DEBUG
         "severity": "DEBUG",

         // If DEBUG level is specified, this value is used. 0 is least verbose,
         // 99 is most verbose. Be cautious, Kea can generate lots and lots
         // of logs if told to do so.
         "debuglevel": 99
     }
   ]


One strange thing is their opening the lockfile many times:

818-north:/# for p in $(pgrep -u _kea); do lsof -p $p | grep lockfile; done
kea-dhcp4 21436 _kea   3u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea   4u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea   5u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea   6u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea  21u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea  22u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea  23u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea  24u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp4 21436 _kea  25u      REG     0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp- 21479 _kea   3u      REG               0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp- 21479 _kea   4u      REG               0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp- 21479 _kea   6u      REG               0,25        0        6 /run/lock/kea/logger_lockfile
kea-dhcp- 21479 _kea  14u      REG               0,25        0        6 /run/lock/kea/logger_lockfile


What else can I test?


Best
Ale


On Tue 11/Nov/2025 13:11:03 +0100 Darren Ankney wrote:
> Hi Ale,
> 
> As a sanity check, is Kea logging other clients messages as expected
> if you release and renew?
> 
> Thank you,
> Darren Ankney
> 
> On Mon, Nov 10, 2025 at 7:08 AM Alessandro Vesely <vesely at tana.it> wrote:
>>
>> Hi,
>> I recently upgraded to Devuan Excalibur, equivalent to Debian Trixie, and had
>> some difficulty starting the Kea daemons. Now they're running.  However, a
>> client somehow got a different IP than it had before.
>>
>> The host name and PTR records still use the previous IP.
>>
>> I tried to fix it by issuing dhclient -r/ dhclient.  As a result, I have
>> several records showing the new IP in /var/lib/dhcp4.csv, but the DNS records
>> are unchanged.
>>
>> In kea-dhcp4 both enable-updates and ddns-send-updates are set to true.
>>
>> In both kea-dhcp4.conf and kea-dhcp-ddns.conf I set debuglevel to 99, but, upon
>> restarting, I only got the two lines
>>
>> kea-dhcp4: INFO  [kea-dhcp4.commands.140267918301120] COMMAND_RECEIVED Received
>> command 'config-set'
>>
>> and
>>
>> kea-dhcp-ddns: INFO  [kea-dhcp-ddns.dctl.140298412311744] DCTL_STARTING
>> DhcpDdns starting, pid: 17117, version: 2.6.3 (stable)
>>
>>
>>
>> Dhcp releases and subsequent discover, offer, request and ack are not logged.
>>
>>
>> Is there a way to force the DNS to sync?
>>
>>
>> Best
>> Ale
>> --
>>
>>
>>
>>
>>
>> --
>> 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



More information about the Kea-users mailing list