[Kea-users] migrating from DHCPd to Kea

Brendan Kearney bpk678 at gmail.com
Tue Apr 16 17:00:04 UTC 2024


Peter,

thanks for the quick reply.  please let me know if there is more detail 
needed.  i run Kea with ERROR level logging, so if more verbose logs are 
needed, i would need to set up some time to test and collect the logs, etc.

the logs from the testing i did, as collected by my syslog receiver:

ReceivedAt    DeviceReportedTime    Facility Priority    FromHost    
Message    SysLogTag    processid
2024-04-11 12:25:54    2024-04-11 12:25:54    3    6 server1    
2024-04-11 12:25:54.414 INFO [kea-dhcp4.dhcp4/840765.139709009588608] 
DHCP4_STARTING Kea DHCPv4 server version 2.4.0 (stable) starting    
kea-dhcp4 840765
2024-04-11 12:26:11    2024-04-11 12:26:11    3    6 server1    
2024-04-11 12:26:11.238 INFO [kea-dhcp-ddns.dctl/840800.140457414102528] 
DCTL_STARTING DhcpDdns starting, pid: 840800, version: 2.4.0 (stable) 
kea-dhcp-ddns    840800
2024-04-11 12:26:29    2024-04-11 12:26:29    3    6 server1    
2024-04-11 12:26:29.089 INFO 
[kea-ctrl-agent.dctl/840831.139709242502656] DCTL_STARTING Control-agent 
starting, pid: 840831, version: 2.4.0 (stable) kea-ctrl-agent    840831
2024-04-11 12:26:29    2024-04-11 12:26:29    16    3 server1    ERROR 
[kea-ctrl-agent.dctl.139709242502656] DCTL_PARSER_FAIL : unable to setup 
TCP acceptor for listening to the incoming HTTP requests: bind: Cannot 
assign requested address [system:99]    kea-ctrl-agent    840831
2024-04-11 12:26:29    2024-04-11 12:26:29    3    6 server1    
2024-04-11 12:26:29.091 FATAL 
[kea-ctrl-agent.dctl/840831.139709242502656] DCTL_CONFIG_FILE_LOAD_FAIL 
Control-agent reason: unable to setup TCP acceptor for listening to the 
incoming HTTP requests: bind: Cannot assign requested address 
[system:99]    kea-ctrl-agent 840831
2024-04-11 12:26:29    2024-04-11 12:26:29    3    6 server1    Service 
failed: Could Not load configuration file: unable to setup TCP acceptor 
for listening to the incoming HTTP requests: bind: Cannot assign 
requested address [system:99] kea-ctrl-agent    840831
2024-04-11 12:28:55    2024-04-11 12:28:55    3    6 server1    
2024-04-11 12:28:55.893 INFO 
[kea-ctrl-agent.dctl/841014.140210931731968] DCTL_STARTING Control-agent 
starting, pid: 841014, version: 2.4.0 (stable) kea-ctrl-agent    841014
2024-04-11 12:28:55    2024-04-11 12:28:55    16    3 server1    ERROR 
[kea-ctrl-agent.dctl.140210931731968] DCTL_PARSER_FAIL : unable to setup 
TCP acceptor for listening to the incoming HTTP requests: bind: Cannot 
assign requested address [system:99]    kea-ctrl-agent    841014
2024-04-11 12:28:55    2024-04-11 12:28:55    3    6 server1    
2024-04-11 12:28:55.895 FATAL 
[kea-ctrl-agent.dctl/841014.140210931731968] DCTL_CONFIG_FILE_LOAD_FAIL 
Control-agent reason: unable to setup TCP acceptor for listening to the 
incoming HTTP requests: bind: Cannot assign requested address 
[system:99]    kea-ctrl-agent 841014
2024-04-11 12:28:55    2024-04-11 12:28:55    3    6 server1    Service 
failed: Could Not load configuration file: unable to setup TCP acceptor 
for listening to the incoming HTTP requests: bind: Cannot assign 
requested address [system:99] kea-ctrl-agent    841014
2024-04-11 12:29:08    2024-04-11 12:29:08    3    6 server1    
2024-04-11 12:29:08.706 INFO 
[kea-ctrl-agent.dctl/841029.139739550449152] DCTL_STARTING Control-agent 
starting, pid: 841029, version: 2.4.0 (stable) kea-ctrl-agent    841029
2024-04-11 12:29:08    2024-04-11 12:29:08    16    3 server1    ERROR 
[kea-ctrl-agent.dctl.139739550449152] DCTL_PARSER_FAIL : unable to setup 
TCP acceptor for listening to the incoming HTTP requests: bind: Cannot 
assign requested address [system:99]    kea-ctrl-agent    841029
2024-04-11 12:29:08    2024-04-11 12:29:08    3    6 server1    
2024-04-11 12:29:08.708 FATAL 
[kea-ctrl-agent.dctl/841029.139739550449152] DCTL_CONFIG_FILE_LOAD_FAIL 
Control-agent reason: unable to setup TCP acceptor for listening to the 
incoming HTTP requests: bind: Cannot assign requested address 
[system:99]    kea-ctrl-agent 841029
2024-04-11 12:29:08    2024-04-11 12:29:08    3    6 server1    Service 
failed: Could Not load configuration file: unable to setup TCP acceptor 
for listening to the incoming HTTP requests: bind: Cannot assign 
requested address [system:99] kea-ctrl-agent    841029
2024-04-11 12:29:38    2024-04-11 12:29:38    3    6 server1    
2024-04-11 12:29:38.806 INFO 
[kea-ctrl-agent.dctl/841082.139974102445568] DCTL_STARTING Control-agent 
starting, pid: 841082, version: 2.4.0 (stable) kea-ctrl-agent    841082
2024-04-11 13:06:55    2024-04-11 13:06:55    3    6 server3    
2024-04-11 13:06:55.085 INFO [kea-dhcp4.dhcp4/1650403.139635850383744] 
DHCP4_STARTING Kea DHCPv4 server version 2.4.0 (stable) starting    
kea-dhcp4 1650403
2024-04-11 13:07:25    2024-04-11 13:07:25    3    6 server1    
2024-04-11 13:07:25.245 INFO [kea-dhcp4.dhcp4/845781.140527526515072] 
DHCP4_STARTING Kea DHCPv4 server version 2.4.0 (stable) starting    
kea-dhcp4 845781
2024-04-11 13:46:12    2024-04-11 13:46:12    3    6 server1    
2024-04-11 13:46:12.231 INFO 
[kea-ctrl-agent.dctl/849744.140067687546368] DCTL_STARTING Control-agent 
starting, pid: 849744, version: 2.4.0 (stable) kea-ctrl-agent    849744
2024-04-11 13:46:12    2024-04-11 13:46:12    16    3 server1    ERROR 
[kea-ctrl-agent.dctl.140067687546368] DCTL_PARSER_FAIL : unable to setup 
TCP acceptor for listening to the incoming HTTP requests: bind: Address 
already in use [system:98]    kea-ctrl-agent    849744
2024-04-11 13:46:12    2024-04-11 13:46:12    3    6 server1    
2024-04-11 13:46:12.233 FATAL 
[kea-ctrl-agent.dctl/849744.140067687546368] DCTL_CONFIG_FILE_LOAD_FAIL 
Control-agent reason: unable to setup TCP acceptor for listening to the 
incoming HTTP requests: bind: Address already in use [system:98]    
kea-ctrl-agent    849744
2024-04-11 13:46:12    2024-04-11 13:46:12    3    6 server1    Service 
failed: Could Not load configuration file: unable to setup TCP acceptor 
for listening to the incoming HTTP requests: bind: Address already in 
use [system:98] kea-ctrl-agent    849744
2024-04-11 13:46:27    2024-04-11 13:46:27    3    6 server1    
2024-04-11 13:46:27.838 INFO 
[kea-ctrl-agent.dctl/849765.139798843375104] DCTL_STARTING Control-agent 
starting, pid: 849765, version: 2.4.0 (stable) kea-ctrl-agent    849765
2024-04-11 15:49:44    2024-04-11 15:49:44    3    6 server1    
2024-04-11 15:49:44.283 INFO [kea-dhcp4.dhcp4/862125.139657899897216] 
DHCP4_STARTING Kea DHCPv4 server version 2.4.0 (stable) starting    
kea-dhcp4 862125
2024-04-11 15:52:24    2024-04-11 15:52:24    3    6 server1    
2024-04-11 15:52:24.400 INFO [kea-dhcp4.dhcp4/862433.139901698826624] 
DHCP4_STARTING Kea DHCPv4 server version 2.4.0 (stable) starting    
kea-dhcp4 862433
2024-04-11 18:02:35    2024-04-11 18:02:35    16    3 server1    ERROR 
[kea-dhcp4.database.139901550986944] DATABASE_MYSQL_FATAL_ERROR 
Unrecoverable MySQL error occurred: unable to execute for <SELECT 
address, hwaddr, client_id, valid_lifetime, expire, subnet_id, fqdn_fwd, 
fqdn_rev, hostname, state, user_context, relay_id, remote_id, pool_id 
FROM lease4 WHERE client_id = ?>, reason: Lost connection to server 
during query (error code: 2013).    kea-dhcp4    862433

the database is a 3 node multi-provider MariaDB footprint, with Galera 
(block-level) replication, all behind an HAProxy VIP.  there are no 
issues with the database being available.  i tried a couple of times and 
had to adjust a couple of IP/port combos because of the HA+MT config, 
plus the Stork agent.  thats why there are a couple "could not bind to 
address, already in use" errors.  once i got the Kea instances started, 
no device would come up with a new  lease.

my pretty printed config, from one of the Kea servers:

{
   "authoritative": true,
   "client-classes": [
     {
       "name": "proxied-clients"
     },
     {
       "name": "unproxied-clients"
     },
     {
       "name": "unknown-clients",
       "test": "not member('KNOWN')"
     },
     {
       "boot-file-name": "linux-install/pxelinux.0",
       "name": "pxe-bios",
       "server-hostname": "tftp.bpk2.com",
       "test": "option[93].hex == '0x0000'"
     },
     {
       "boot-file-name": "linux-install/efi/bootx64.efi",
       "name": "pxe-uefi",
       "server-hostname": "tftp.bpk2.com",
       "test": "(option[93].hex == '0x0007') or (option[93].hex == 0x0009)"
     },
     {
       "name": "primary-proxied",
       "test": "member('proxied-clients') and member('HA_server1')"
     },
     {
       "name": "secondary-proxied",
       "test": "member('proxied-clients') and member('HA_server2')"
     },
     {
       "name": "primary-unproxied",
       "test": "member('unproxied-clients') and member('HA_server1')"
     },
     {
       "name": "secondary-unproxied",
       "test": "member('unproxied-clients') and member('HA_server2')"
     },
     {
       "name": "primary-unknown",
       "test": "member('unknown-clients') and member('HA_server1')"
     },
     {
       "name": "secondary-unknown",
       "test": "member('unknown-clients') and member('HA_server2')"
     },
     {
       "name": "primary-pxeboot",
       "test": "member('pxe-bios') or member('pxe-uefi') and 
member('HA_server1')"
     },
     {
       "name": "secondary-pxeboot",
       "test": "member('pxe-bios') or member('pxe-uefi') and 
member('HA_server2')"
     }
   ],
   "config-control": {
     "config-databases": [
       {
         "host": "database.bpk2.com",
         "name": "kea",
         "password": "*****",
         "port": 3306,
         "type": "mysql",
         "user": "kea"
       }
     ],
     "config-fetch-wait-time": 20
   },
   "control-socket": {
     "socket-name": "/tmp/kea4-ctrl-socket",
     "socket-type": "unix"
   },
   "ddns-generated-prefix": "server3",
   "ddns-override-client-update": true,
   "ddns-override-no-update": false,
   "ddns-qualifying-suffix": "bpk2.com",
   "ddns-replace-client-name": "always",
   "ddns-send-updates": true,
   "ddns-update-on-renew": true,
   "dhcp-ddns": {
     "enable-updates": true,
     "max-queue-size": 1024,
     "ncr-format": "JSON",
     "ncr-protocol": "UDP",
     "sender-ip": "",
     "sender-port": 0,
     "server-ip": "127.0.0.1",
     "server-port": 53001
   },
   "dhcp-queue-control": {
     "capacity": 256,
     "enable-queue": true,
     "queue-type": "kea-ring4"
   },
   "expired-leases-processing": {
     "flush-reclaimed-timer-wait-time": 25,
     "hold-reclaimed-time": 3600,
     "max-reclaim-leases": 100,
     "max-reclaim-time": 250,
     "reclaim-timer-wait-time": 10,
     "unwarned-reclaim-cycles": 5
   },
   "hooks-libraries": [
     {
       "library": "/usr/lib64/kea/hooks/libdhcp_lease_cmds.so"
     },
     {
       "library": "/usr/lib64/kea/hooks/libdhcp_mysql_cb.so"
     },
     {
       "library": "/usr/lib64/kea/hooks/libdhcp_stat_cmds.so"
     },
     {
       "library": "/usr/lib64/kea/hooks/libdhcp_ha.so",
       "parameters": {
         "high-availability": [
           {
             "delayed-updates-limit": 100,
             "heartbeat-delay": 10000,
             "max-ack-delay": 5000,
             "max-rejected-lease-updates": 10,
             "max-response-delay": 60000,
             "max-unacked-clients": 5,
             "mode": "load-balancing",
             "multi-threading": {
               "enable-multi-threading": true,
               "http-client-threads": 4,
               "http-dedicated-listener": true,
               "http-listener-threads": 4
             },
             "peers": [
               {
                 "auto-failover": false,
                 "name": "server1",
                 "role": "secondary",
                 "url": "http://192.168.88.1:8100/"
               },
               {
                 "auto-failover": true,
                 "name": "server2",
                 "role": "backup",
                 "url": "http://192.168.88.2:8100/"
               },
               {
                 "auto-failover": true,
                 "name": "server3",
                 "role": "primary",
                 "url": "http://192.168.88.8:8100/"
               }
             ],
             "send-lease-updates": false,
             "sync-leases": false,
             "this-server-name": "server3"
           }
         ]
       }
     }
   ],
   "hostname-char-replacement": "",
   "hostname-char-set": "",
   "interfaces-config": {
     "dhcp-socket-type": "udp",
     "interfaces": [
       "bond0/192.168.88.8"
     ]
   },
   "ip-reservations-unique": false,
   "lease-database": {
     "connect-timeout": 3,
     "host": "database.bpk2.com",
     "max-reconnect-tries": 3,
     "name": "kea",
     "on-fail": "stop-retry-exit",
     "password": "*****",
     "port": 3306,
     "read-timeout": 10,
     "reconnect-wait-time": 100,
     "type": "mysql",
     "user": "kea",
     "write-timeout": 20
   },
   "loggers": [
     {
       "debuglevel": 0,
       "name": "kea-dhcp4",
       "output_options": [
         {
           "output": "syslog"
         }
       ],
       "severity": "ERROR"
     }
   ],
   "max-valid-lifetime": 86400,
   "min-valid-lifetime": 3600,
   "multi-threading": {
     "enable-multi-threading": true,
     "packet-queue-size": 66,
     "thread-pool-size": 12
   },
   "option-data": [
     {
       "data": "192.168.248.254",
       "name": "domain-name-servers"
     },
     {
       "data": "bpk2.com",
       "name": "domain-name"
     },
     {
       "data": "bpk2.com",
       "name": "domain-search"
     },
     {
       "data": "0xf0",
       "name": "default-ip-ttl"
     },
     {
       "data": "192.168.254.2",
       "name": "ntp-servers"
     },
     {
       "data": "192.168.253.3",
       "name": "netbios-name-servers"
     },
     {
       "data": "192.168.120.6",
       "name": "smtp-server"
     },
     {
       "data": "192.168.120.2",
       "name": "www-server"
     }
   ],
   "rebind-timer": 1800,
   "renew-timer": 900,
   "reservations": [
     {
       "hostname": "rpi3",
       "hw-address": "b8:27:eb:d6:9a:6b",
       "ip-address": "192.168.1.4"
     },
     {
       "hostname": "rpi4",
       "hw-address": "dc:a6:32:eb:44:c4",
       "ip-address": "192.168.1.14"
     },
     {
       "client-classes": [
         "proxied-clients"
       ],
       "hostname": "desktop",
       "hw-address": "78:e3:b5:b4:61:b8"
     },
     {
       "client-classes": [
         "proxied-clients"
       ],
       "hostname": "x1titanium",
       "hw-address": "04:7b:cb:f9:ed:ac"
     },
     {
       "client-classes": [
         "proxied-clients"
       ],
       "hostname": "netbook",
       "hw-address": "20:cf:30:05:c6:f8"
     },
     {
       "hostname": "printer",
       "hw-address": "e8:d8:d1:94:75:66",
       "ip-address": "192.168.24.3"
     },
     {
       "hostname": "printer",
       "hw-address": "e8:6f:38:a5:ab:cc",
       "ip-address": "192.168.24.3"
     },
     {
       "hostname": "rpi3",
       "hw-address": "b8:27:eb:83:cf:3e",
       "ip-address": "192.168.24.4"
     },
     {
       "hostname": "tv",
       "hw-address": "40:16:3b:da:da:98",
       "ip-address": "192.168.24.6"
     },
     {
       "hostname": "rpi4",
       "hw-address": "dc:a6:32:eb:44:c7",
       "ip-address": "192.168.24.14"
     },
     {
       "client-classes": [
         "proxied-clients"
       ],
       "hostname": "desktop",
       "hw-address": "68:94:23:1c:a1:64"
     },
     {
       "client-classes": [
         "proxied-clients"
       ],
       "hostname": "x1titanium",
       "hw-address": "ac:5a:fc:e3:20:42"
     },
     {
       "client-classes": [
         "proxied-clients"
       ],
       "hostname": "netbook",
       "hw-address": "74:f0:6d:50:e0:72"
     },
     {
       "client-classes": [
         "unproxied-clients"
       ],
       "hostname": "note9",
       "hw-address": "cc:c0:79:f5:b7:d5"
     },
     {
       "hostname": "aruba",
       "hw-address": "20:4c:03:cb:3b:7c",
       "ip-address": "192.168.56.2"
     },
     {
       "hostname": "ooma",
       "hw-address": "00:18:61:2d:49:2d",
       "ip-address": "192.168.56.3"
     },
     {
       "hostname": "brians-ooma",
       "hw-address": "00:18:61:46:cc:f1",
       "ip-address": "192.168.56.4"
     },
     {
       "hostname": "pitboss",
       "hw-address": "e8:68:e7:17:75:14",
       "ip-address": "192.168.56.5"
     },
     {
       "hostname": "wa1ppaio0",
       "hw-address": "04:0e:3c:7e:85:11",
       "ip-address": "192.168.57.3"
     },
     {
       "hostname": "wa1ptevo0",
       "hw-address": "b8:16:5f:24:7e:5d",
       "ip-address": "192.168.57.4"
     },
     {
       "client-classes": [
         "proxied-clients"
       ],
       "hostname": "netbook",
       "hw-address": "56:fd:c0:7d:cc:92"
     },
     {
       "hostname": "nas-ipmi",
       "hw-address": "64:51:06:d8:0b:ce",
       "ip-address": "192.168.216.7"
     },
     {
       "hostname": "unifi",
       "hw-address": "78:8a:20:45:30:ea",
       "ip-address": "192.168.248.1"
     },
     {
       "hostname": "wifi-se-ext",
       "hw-address": "78:8a:20:86:4a:61",
       "ip-address": "192.168.248.2"
     },
     {
       "hostname": "wifi-nw-ext",
       "hw-address": "68:d7:9a:86:87:29",
       "ip-address": "192.168.248.3"
     },
     {
       "hostname": "wifi-ne-int",
       "hw-address": "b4:fb:e4:24:6e:f0",
       "ip-address": "192.168.248.4"
     },
     {
       "hostname": "wifi-sw-int",
       "hw-address": "b4:fb:e4:20:07:65",
       "ip-address": "192.168.248.5"
     }
   ],
   "server-tag": "server3",
   "subnet4": [
     {
       "id": 1,
       "option-data": [
         {
           "data": "192.168.1.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-proxied",
           "pool": "192.168.1.50 - 192.168.1.74"
         },
         {
           "client-class": "secondary-proxied",
           "pool": "192.168.1.75 - 192.168.1.99"
         },
         {
           "client-class": "primary-unproxied",
           "pool": "192.168.1.100 - 192.168.1.124"
         },
         {
           "client-class": "secondary-unproxied",
           "pool": "192.168.1.125 - 192.168.1.149"
         },
         {
           "client-class": "primary-unknown",
           "pool": "192.168.1.150 - 192.168.1.174"
         },
         {
           "client-class": "primary-unknown",
           "pool": "192.168.1.175 - 192.168.1.199"
         },
         {
           "client-class": "primary-pxeboot",
           "pool": "192.168.1.200 - 192.168.1.224"
         },
         {
           "client-class": "primary-pxeboot",
           "pool": "192.168.1.225 - 192.168.1.249"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.1.254"
         ]
       },
       "subnet": "192.168.1.0/24"
     },
     {
       "id": 24,
       "option-data": [
         {
           "data": "192.168.24.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-proxied",
           "pool": "192.168.24.50 - 192.168.24.74"
         },
         {
           "client-class": "secondary-proxied",
           "pool": "192.168.24.75 - 192.168.24.99"
         },
         {
           "client-class": "primary-unproxied",
           "pool": "192.168.24.100 - 192.168.24.124"
         },
         {
           "client-class": "secondary-unproxied",
           "pool": "192.168.24.125 - 192.168.24.149"
         },
         {
           "client-class": "primary-unknown",
           "pool": "192.168.24.150 - 192.168.24.174"
         },
         {
           "client-class": "secondary-unknown",
           "pool": "192.168.24.175 - 192.168.24.199"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.24.254"
         ]
       },
       "subnet": "192.168.24.0/24"
     },
     {
       "id": 56,
       "option-data": [
         {
           "data": "192.168.56.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-unknown",
           "pool": "192.168.56.100 - 192.168.56.149"
         },
         {
           "client-class": "secondary-unknown",
           "pool": "192.168.56.150 - 192.168.56.199"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.56.254"
         ]
       },
       "subnet": "192.168.56.0/24"
     },
     {
       "id": 57,
       "option-data": [
         {
           "data": "192.168.57.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-unknown",
           "pool": "192.168.57.100 - 192.168.57.149"
         },
         {
           "client-class": "secondary-unknown",
           "pool": "192.168.57.150 - 192.168.57.199"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.57.254"
         ]
       },
       "subnet": "192.168.57.0/24"
     },
     {
       "id": 152,
       "option-data": [
         {
           "data": "192.168.152.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-proxied",
           "pool": "192.168.152.50 - 192.168.152.74"
         },
         {
           "client-class": "secondary-proxied",
           "pool": "192.168.152.75 - 192.168.152.99"
         },
         {
           "client-class": "primary-unproxied",
           "pool": "192.168.152.100 - 192.168.152.124"
         },
         {
           "client-class": "secondary-unproxied",
           "pool": "192.168.152.125 - 192.168.152.149"
         },
         {
           "client-class": "primary-unknown",
           "pool": "192.168.152.150 - 192.168.152.174"
         },
         {
           "client-class": "secondary-unknown",
           "pool": "192.168.152.175 - 192.168.152.199"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.152.254"
         ]
       },
       "subnet": "192.168.152.0/24"
     },
     {
       "id": 184,
       "option-data": [
         {
           "data": "192.168.184.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-proxied",
           "pool": "192.168.184.50 - 192.168.184.74"
         },
         {
           "client-class": "secondary-proxied",
           "pool": "192.168.184.75 - 192.168.184.99"
         },
         {
           "client-class": "primary-unproxied",
           "pool": "192.168.184.100 - 192.168.184.124"
         },
         {
           "client-class": "secondary-unproxied",
           "pool": "192.168.184.125 - 192.168.184.149"
         },
         {
           "client-class": "priamry-unknown",
           "pool": "192.168.184.150 - 192.168.184.174"
         },
         {
           "client-class": "secondary-unknown",
           "pool": "192.168.184.175 - 192.168.184.199"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.184.254"
         ]
       },
       "subnet": "192.168.184.0/24"
     },
     {
       "id": 185,
       "option-data": [
         {
           "data": "192.168.185.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-proxied",
           "pool": "192.168.185.50 - 192.168.185.74"
         },
         {
           "client-class": "secondary-proxied",
           "pool": "192.168.185.75 - 192.168.185.99"
         },
         {
           "client-class": "primary-unproxied",
           "pool": "192.168.185.100 - 192.168.185.124"
         },
         {
           "client-class": "secondary-unproxied",
           "pool": "192.168.185.125 - 192.168.185.149"
         },
         {
           "client-class": "priamry-unknown",
           "pool": "192.168.185.150 - 192.168.185.174"
         },
         {
           "client-class": "secondary-unknown",
           "pool": "192.168.185.175 - 192.168.185.199"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.185.254"
         ]
       },
       "subnet": "192.168.185.0/24"
     },
     {
       "id": 216,
       "option-data": [
         {
           "data": "192.168.216.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-proxied",
           "pool": "192.168.216.1 - 192.168.216.24"
         },
         {
           "client-class": "secondary-proxied",
           "pool": "192.168.216.25 - 192.168.216.50"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.216.254"
         ]
       },
       "subnet": "192.168.216.0/24"
     },
     {
       "id": 248,
       "option-data": [
         {
           "data": "192.168.248.254",
           "name": "routers"
         }
       ],
       "pools": [
         {
           "client-class": "primary-proxied",
           "pool": "192.168.248.50 - 192.168.248.74"
         },
         {
           "client-class": "secondary-proxied",
           "pool": "192.168.248.75 - 192.168.248.99"
         },
         {
           "client-class": "primary-unproxied",
           "pool": "192.168.248.100 - 192.168.248.124"
         },
         {
           "client-class": "secondary-unproxied",
           "pool": "192.168.248.125 - 192.168.248.149"
         },
         {
           "client-class": "priamry-unknown",
           "pool": "192.168.248.150 - 192.168.248.174"
         },
         {
           "client-class": "secondary-unknown",
           "pool": "192.168.248.175 - 192.168.248.199"
         }
       ],
       "relay": {
         "ip-addresses": [
           "192.168.248.254"
         ]
       },
       "subnet": "192.168.248.0/24"
     }
   ],
   "valid-lifetime": 7200
}

On 4/16/24 12:30 PM, Peter Davies wrote:
>
> Hi Brendan,
>    Kea will not be able to grant leases if it cannot contact its lease 
> database.
> Your configuration file and logging would be helpful.
>
> Also, setting  the "authoritative" to true will force Kea to always 
> reject INIT-REBOOT requests from unknown clients
> /Peter
>
> On 16/04/2024 18.16, Brendan Kearney wrote:
>>
>> list members,
>>
>> i am trying to migrate to Kea and have 2 HA+MT instances stood up.  
>> when i start relaying dhcp requests to Kea, i get bunch of failed 
>> attempts to obtain leases on the clients, which i believe is due to 
>> the clients not having active leases from Kea.  i am wondering if 
>> there is a means to have the clients get new assigned leases without 
>> having to jump through hoops like reboots.
>>
>> as an aside, i also find the below error in my logs, which seems to 
>> indicate a malformed database query.
>>
>> ERROR [kea-dhcp4.database.139901550986944] DATABASE_MYSQL_FATAL_ERROR 
>> Unrecoverable MySQL error occurred: unable to execute for <SELECT 
>> address, hwaddr, client_id, valid_lifetime, expire, subnet_id, 
>> fqdn_fwd, fqdn_rev, hostname, state, user_context, relay_id, 
>> remote_id, pool_id FROM lease4 WHERE client_id = ?>, reason: Lost 
>> connection to server during query (error code: 2013).
>>
>> the select, if pasted into any mariadb client, fails since the "?" is 
>> not proper syntax.  i dont know if the behavior i am seeing with the 
>> clients not getting new leases and the database error above are 
>> related or if there are a couple of issues to be worked through.
>>
>> what info should i provide, to understand where i have issues to 
>> address?  i am running Kea 2.4.0 on fedora 38.
>>
>> thanks in advance,
>>
>> brendan
>>
> -- Peter Davies Support Engineer Internet Systems Corporation
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20240416/b429131c/attachment-0001.htm>


More information about the Kea-users mailing list