Hi, I am trying to configure the kea-DHCP failover. Initially, I ran two DHCP servers as two separate standalone and tested the DHCP leases. It is working fine but when I add that to the failover type it is not working. unable to get leases. I tried checking the logs, netstat, and config of both dhcp4 and the control agent, everything seems to be ok. I am not sure where the service is getting stuck, I have attached the required config files and "status-get" command output, can someone guide me on this
netstat output on primary ===================== [root@dhcp1 ~]# netstat -tulpna | grep kea tcp 0 0 192.168.0.125:8000 0.0.0.0:* LISTEN 27223/kea-ctrl-agen tcp 0 0 192.168.0.125:8000 192.168.0.126:49792 ESTABLISHED 27223/kea-ctrl-agen tcp 0 0 192.168.0.125:60346 192.168.0.169:8000 ESTABLISHED 27194/kea-dhcp4 udp 213248 0 192.168.0.125:67 0.0.0.0:* 27194/kea-dhcp4 [root@dhcp1 ~]# netstat -tulpna | grep 67 udp 213248 0 192.168.0.125:67 0.0.0.0:* 27194/kea-dhcp4 [root@dhcp1 ~]# netstat output on failover =================== [root@dhcp2 ~]# netstat -tulpna | grep 67 udp 141440 0 192.168.0.126:67 0.0.0.0:* 14380/kea-dhcp4 [root@dhcp2 ~]# netstat -tulpna | grep kea tcp 0 0 192.168.0.126:8000 0.0.0.0:* LISTEN 14411/kea-ctrl-agen tcp 0 0 192.168.0.126:49792 192.168.0.125:8000 ESTABLISHED 14380/kea-dhcp4 udp 141440 0 192.168.0.126:67 0.0.0.0:* 14380/kea-dhcp4 Sample packet capture of the Discover packet --------------------------------------------------------------------------- TIME: 14:45:47.859127 IP: > (00:50:56:99:5c:f3) > (00:50:56:99:d3:32) OP: 1 (BOOTPREQUEST) HTYPE: 1 (Ethernet) HLEN: 6 HOPS: 0 XID: 25296629 SECS: 0 FLAGS: 7f80 CIADDR: 0.0.0.0 YIADDR: 0.0.0.0 SIADDR: 0.0.0.0 GIADDR: 4.0.0.1 CHADDR: 55:5f:ff:00:00:01:00:00:00:00:00:00:00:00:00:00 SNAME: . FNAME: . OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER) OPTION: 61 ( 7) Client-identifier 01:55:5f:ff:00:00:01 OPTION: 12 ( 18) Host name dhcp-client-000001 --------------------------------------------------------------------------- TIME: 14:45:48.359827 IP: > (00:50:56:99:5c:f3) > (00:50:56:99:d3:32) OP: 1 (BOOTPREQUEST) HTYPE: 1 (Ethernet) HLEN: 6 HOPS: 0 XID: 25296629 SECS: 0 FLAGS: 7f80 CIADDR: 0.0.0.0 YIADDR: 0.0.0.0 SIADDR: 0.0.0.0 GIADDR: 4.0.0.1 CHADDR: 55:5f:ff:00:00:01:00:00:00:00:00:00:00:00:00:00 SNAME: . FNAME: . OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER) OPTION: 61 ( 7) Client-identifier 01:55:5f:ff:00:00:01 OPTION: 12 ( 18) Host name dhcp-client-000001 --------------------------------------------------------------------------- TIME: 14:45:48.860530 IP: > (00:50:56:99:5c:f3) > (00:50:56:99:d3:32) OP: 1 (BOOTPREQUEST) HTYPE: 1 (Ethernet) HLEN: 6 HOPS: 0 XID: 25296629 SECS: 0 FLAGS: 7f80 CIADDR: 0.0.0.0 YIADDR: 0.0.0.0 SIADDR: 0.0.0.0 GIADDR: 4.0.0.1 CHADDR: 55:5f:ff:00:00:01:00:00:00:00:00:00:00:00:00:00 SNAME: . FNAME: . OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER) OPTION: 61 ( 7) Client-identifier 01:55:5f:ff:00:00:01 OPTION: 12 ( 18) Host name dhcp-client-000001 --------------------------------------------------------------------------- Thanks in Advance Kraishak
[root@dhcp1 ~]# echo '{"command":"status-get"}' | socat - UNIX:/usr/local/tmp/kea4-ctrl-socket1 | jq { "arguments": { "high-availability": [ { "ha-mode": "hot-standby", "ha-servers": { "local": { "role": "primary", "scopes": [], "state": "waiting" }, "remote": { "age": 144, "analyzed-packets": 0, "communication-interrupted": true, "connecting-clients": 0, "in-touch": true, "last-scopes": [], "last-state": "unavailable", "role": "standby", "unacked-clients": 0, "unacked-clients-left": 6 } } } ], "multi-threading-enabled": false, "pid": 26189, "reload": 144, "sockets": { "status": "ready" }, "uptime": 144 }, "result": 0 } [root@dhcp1 ~]#
kea-ctrl-agent.conf.primary
Description: Binary data
kea-dhcp4.conf.primary
Description: Binary data
kea-dhcp4.conf.failover
Description: Binary data
kea-ctrl-agent.conf.failover
Description: Binary data
[root@dhcp2 ~]# echo '{"command":"status-get"}' | socat - UNIX:/usr/local/tmp/kea4-ctrl-socket | jq { "arguments": { "high-availability": [ { "ha-mode": "hot-standby", "ha-servers": { "local": { "role": "standby", "scopes": [], "state": "waiting" }, "remote": { "age": 912, "analyzed-packets": 0, "communication-interrupted": true, "connecting-clients": 0, "in-touch": true, "last-scopes": [], "last-state": "unavailable", "role": "primary", "unacked-clients": 0, "unacked-clients-left": 1 } } } ], "multi-threading-enabled": false, "pid": 14380, "reload": 912, "sockets": { "status": "ready" }, "uptime": 912 }, "result": 0 } [root@dhcp2 ~]#
2023-04-18 15:51:57.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases 2023-04-18 15:51:57.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.023 ms 2023-04-18 15:51:57.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed 2023-04-18 15:51:57.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases 2023-04-18 15:52:07.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases 2023-04-18 15:52:07.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds) 2023-04-18 15:52:07.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases 2023-04-18 15:52:07.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.021 ms 2023-04-18 15:52:07.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed 2023-04-18 15:52:07.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases 2023-04-18 15:52:17.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases 2023-04-18 15:52:17.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds) 2023-04-18 15:52:17.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases 2023-04-18 15:52:17.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.015 ms 2023-04-18 15:52:17.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed 2023-04-18 15:52:17.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases 2023-04-18 15:52:22.529 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: flush-reclaimed-leases 2023-04-18 15:52:22.529 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE begin deletion of reclaimed leases expired more than 3600 seconds ago 2023-04-18 15:52:22.529 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED4 deleting reclaimed IPv4 leases that expired more than 3600 seconds ago 2023-04-18 15:52:22.529 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_COMPLETE successfully deleted 0 expired-reclaimed leases 2023-04-18 15:52:22.529 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_START_TIMER starting timer: flush-reclaimed-leases 2023-04-18 15:52:27.599 DEBUG [kea-dhcp4.dhcpsrv/14380.140632206207168] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases 2023-04-18 15:52:27.599 DEBUG [kea-dhcp4.alloc-engine/14380.140632206207168] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds)
2023-04-18 15:53:04.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds) 2023-04-18 15:53:04.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases 2023-04-18 15:53:04.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.013 ms 2023-04-18 15:53:04.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed 2023-04-18 15:53:04.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases 2023-04-18 15:53:14.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases 2023-04-18 15:53:14.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds) 2023-04-18 15:53:14.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases 2023-04-18 15:53:14.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.014 ms 2023-04-18 15:53:14.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed 2023-04-18 15:53:14.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases 2023-04-18 15:53:24.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: reclaim-expired-leases 2023-04-18 15:53:24.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_LEASES_RECLAMATION_START starting reclamation of expired leases (limit = 100 leases or 250 milliseconds) 2023-04-18 15:53:24.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum 101 of expired IPv4 leases 2023-04-18 15:53:24.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_LEASES_RECLAMATION_COMPLETE reclaimed 0 leases in 0.013 ms 2023-04-18 15:53:24.310 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_NO_MORE_EXPIRED_LEASES all expired leases have been reclaimed 2023-04-18 15:53:24.310 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases 2023-04-18 15:53:29.229 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_TIMERMGR_RUN_TIMER_OPERATION running operation for timer: flush-reclaimed-leases 2023-04-18 15:53:29.229 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE begin deletion of reclaimed leases expired more than 3600 seconds ago 2023-04-18 15:53:29.229 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_MEMFILE_DELETE_EXPIRED_RECLAIMED4 deleting reclaimed IPv4 leases that expired more than 3600 seconds ago 2023-04-18 15:53:29.229 DEBUG [kea-dhcp4.alloc-engine/27194.140097071442112] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_COMPLETE successfully deleted 0 expired-reclaimed leases 2023-04-18 15:53:29.229 DEBUG [kea-dhcp4.dhcpsrv/27194.140097071442112] DHCPSRV_TIMERMGR_START_TIMER starting timer: flush-reclaimed-leases
-- 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