[Kea-users] unable to forward command to the dhcp4 service: Connection refused. The server is likely to be offline

Darren Ankney darren.ankney at gmail.com
Mon Mar 6 10:53:23 UTC 2023


Looks like your socket locations don't match between the kea config
and the ctrl agent configuration.  Those are filenames, so they are
going to need to match exactly.  Kea is in the driver's seat there as
it actually creates the file.  the ctrl agent "talks" to kea through
such file.

example, your primary kea config says:  /tmp/kea4-ctrl-socket1 and
your ctrl agent config on the primary says: /tmp/control_socket

On Mon, Mar 6, 2023 at 4:38 AM Kraishak Mahtha <kraishak.edu at gmail.com> wrote:
>
>  Hi All,
>
> I am trying to configure the kea-HA setup in my local environment but I am facing an issue the heartbeat is getting failed and the logs are as follows:
> Logs on Failover
> =============
> 2023-03-06 09:04:43.761 DEBUG [kea-dhcp4.http/28550.140575742654656] HTTP_CLIENT_REQUEST_SEND sending HTTP request POST / HTTP/1.1 to http://192.168.0.168:8000/
> 2023-03-06 09:04:43.761 DEBUG [kea-dhcp4.http/28550.140575742654656] HTTP_CLIENT_REQUEST_SEND_DETAILS detailed information about request sent to http://192.168.0.168:8000/:
> POST / HTTP/1.1
> Host: 192.168.0.168
> Content-Length: 53
> Content-Type: application/json
>
> { "command": "ha-heartbeat", "service": [ "dhcp4" ] }
> 2023-03-06 09:04:43.762 DEBUG [kea-dhcp4.http/28550.140575742654656] HTTP_SERVER_RESPONSE_RECEIVED received HTTP response from http://192.168.0.168:8000/
> 2023-03-06 09:04:43.762 DEBUG [kea-dhcp4.http/28550.140575742654656] HTTP_SERVER_RESPONSE_RECEIVED_DETAILS detailed information about well-formed response received from http://192.168.0.168:8000/:
> HTTP/1.1 200 OK
> Content-Length: 133
> Content-Type: application/json
> Date: Mon, 06 Mar 2023 09:04:43 GMT
>
> [ { "result": 1, "text": "unable to forward command to the dhcp4 service: Connection refused. The server is likely to be offline" } ]
> 2023-03-06 09:04:43.762 WARN  [kea-dhcp4.ha-hooks/28550.140575742654656] HA_HEARTBEAT_FAILED heartbeat to kea-dhcp-168 (http://192.168.0.168:8000/) failed: unable to forward command to the dhcp4 service: Connection refused. The server is likely to be offline, error code 1
> 2023-03-06 09:04:43.762 WARN  [kea-dhcp4.ha-hooks/28550.140575742654656] HA_COMMUNICATION_INTERRUPTED communication with kea-dhcp-168 is interrupted
>
>
> Logs on Primary
> ==============
> 2023-03-06 09:01:50.143 DEBUG [kea-dhcp4.dhcpsrv/13620.140081380149440] DHCPSRV_TIMERMGR_START_TIMER starting timer: reclaim-expired-leases
> 2023-03-06 09:01:52.145 DEBUG [kea-dhcp4.http/13620.140081380149440] HTTP_CLIENT_REQUEST_SEND sending HTTP request POST / HTTP/1.1 to http://192.168.0.169:8000/
> 2023-03-06 09:01:52.145 DEBUG [kea-dhcp4.http/13620.140081380149440] HTTP_CLIENT_REQUEST_SEND_DETAILS detailed information about request sent to http://192.168.0.169:8000/:
> POST / HTTP/1.1
> Host: 192.168.0.169
> Content-Length: 53
> Content-Type: application/json
>
> { "command": "ha-heartbeat", "service": [ "dhcp4" ] }
> 2023-03-06 09:01:52.146 DEBUG [kea-dhcp4.http/13620.140081380149440] HTTP_SERVER_RESPONSE_RECEIVED received HTTP response from http://192.168.0.169:8000/
> 2023-03-06 09:01:52.146 DEBUG [kea-dhcp4.http/13620.140081380149440] HTTP_SERVER_RESPONSE_RECEIVED_DETAILS detailed information about well-formed response received from http://192.168.0.169:8000/:
> HTTP/1.1 200 OK
> Content-Length: 133
> Content-Type: application/json
> Date: Mon, 06 Mar 2023 09:01:52 GMT
>
> [ { "result": 1, "text": "unable to forward command to the dhcp4 service: Connection refused. The server is likely to be offline" } ]
> 2023-03-06 09:01:52.146 WARN  [kea-dhcp4.ha-hooks/13620.140081380149440] HA_HEARTBEAT_FAILED heartbeat to appliance-169 (http://192.168.0.169:8000/) failed: unable to forward command to the dhcp4 service: Connection refused. The server is likely to be offline, error code 1
> 2023-03-06 09:01:53.558 INFO  [kea-ctrl-agent.commands/13581.140159667833024] COMMAND_RECEIVED Received command 'ha-heartbeat'
> 2023-03-06 09:01:53.558 INFO  [kea-ctrl-agent.ctrl-agent/13581.140159667833024] CTRL_AGENT_COMMAND_RECEIVED command ha-heartbeat received from remote address 192.168.0.169
>
>
> =========
> Primary config
> ==============
> ##DHCPv4 192.168.0.168
> {
> "Dhcp4": {
>     "valid-lifetime": 300,
>     "renew-timer": 150,
>     "rebind-timer": 200,
>     "server-tag": "192.168.0.168",
>       "control-socket": {
>             "socket-name": "/tmp/kea4-ctrl-socket1",
>             "socket-type": "unix"
>         },
>
>     "lease-database": {
>         "type": "memfile",
>         "persist": true,
>         "name": "/var/lib/kea/dhcp4.leases"
>     },
>
>    "interfaces-config": {
>         "interfaces": ["eth0"]
>   },
>
> "hooks-libraries": [
>             {
>                 "library": "/usr/local/lib/kea/hooks/libdhcp_lease_cmds.so",
>                 "parameters": { }
>             },
>             {
>                 "library": "/usr/local/lib/kea/hooks/libdhcp_bootp.so",
>                 "parameters": { }
>             },
>                         {
>                                 "library": "/usr/local/lib/kea/hooks/libdhcp_ha.so",
>                                 "parameters": {
>                                         "high-availability": [{
>                                                 "this-server-name": "kea-dhcp-168",
>                                                 "mode": "hot-standby",
>                                                 "heartbeat-delay": 10000,
>                                                 "max-response-delay": 60000,
>                                                 "max-ack-delay": 5000,
>                                                 "max-unacked-clients": 5,
>                                                 "peers": [{
>                                                         "name": "kea-dhcp-168",
>                                                         "url": "http://192.168.0.168:8000/",
>                                                         "role": "primary",
>                                                         "auto-failover": true
>                                                 }, {
>                                                         "name": "appliance-169",
>                                                         "url": "http://192.168.0.169:8000/",
>                                                         "role": "standby",
>                                                         "auto-failover": true
>                                                 }]
>                                         }]
>                                 }
>                 }],
>             "subnet4": [{
>         "subnet": "4.0.0.0/24",
>                  "option-data": [
>                     {
>                         "data": "2.2.2.2, 8.8.4.4",
>                         "name": "domain-name-servers"
>                     },
>                     {
>                         "data": "4.0.0.1",
>                         "name": "routers"
>                     }
>                 ],
>         "pools": [
>             {
>                 "pool": "4.0.0.25 - 4.0.0.250"
>             }
>         ]
>
>                 }],
>          "loggers": [
>         {
>             "name": "kea-dhcp4",
>             "debuglevel": 99,
>             "output_options": [
>                 {
>                     "output": "/usr/local/var/log/kea-dhcp4.log"
>                 }
>             ],
>             "severity": "DEBUG"
>         }
>     ]
> }
> }
> kea-ctrl-agent.conf on Primary
> =========================
>
> {
>     "Control-agent": {
>         "http-host": "192.168.0.168",
>         "http-port": 8000,
>         "control-sockets": {
>             "dhcp4": {
>                 "socket-type": "unix",
>                 "socket-name": "/tmp/control_socket"
>             }
>         },
>         "cert-required": false
>     }
> }
> Netstat output
> =============
> [root at kea-dhcp-168 ~]# netstat -tulpna | grep 8000
> tcp        0      0 192.168.0.168:8000      0.0.0.0:*               LISTEN      13581/kea-ctrl-agen
> tcp        0      0 192.168.0.168:57308     192.168.0.169:8000      ESTABLISHED 13620/kea-dhcp4
> tcp        0      0 192.168.0.168:8000      192.168.0.169:58432     ESTABLISHED 13581/kea-ctrl-agen
> [root at kea-dhcp-168 ~]#
>
> [root at kea-dhcp-168 ~]# netstat -tulpna | grep 67
> udp        0      0 192.168.0.168:67        0.0.0.0:*                           13620/kea-dhcp4
> [root at kea-dhcp-168 ~]#
>
>
> Failover DHCPv4 config
> ===================
> #DHCPv4 192.168.0.169
> {
> "Dhcp4": {
>     "valid-lifetime": 300,
>     "renew-timer": 150,
>     "rebind-timer": 200,
>     "server-tag": "192.168.0.169",
>       "control-socket": {
>             "socket-name": "/opt/testUAT/keaFolder/kea4-ctrl-socket",
>             "socket-type": "unix"
>         },
>
>     "lease-database": {
>         "type": "memfile",
>         "persist": true,
>         "name": "/opt/testUAT/var/lib/kea/dhcp4.leases"
>     },
>
>   "interfaces-config": {
>         "interfaces": ["eth0"]
>   },
>
> "hooks-libraries": [
>             {
>                 "library": "/opt/testUAT/lib/kea/hooks/libdhcp_lease_cmds.so",
>                 "parameters": { }
>             },
>             {
>                 "library": "/opt/testUAT/lib/kea/hooks/libdhcp_bootp.so",
>                 "parameters": { }
>             },
>                         {
>                                 "library": "/opt/testUAT/lib/kea/hooks/libdhcp_ha.so",
>                                 "parameters": {
>                                         "high-availability": [{
>                                                 "this-server-name": "appliance-169",
>                                                 "mode": "hot-standby",
>                                                 "heartbeat-delay": 10000,
>                                                 "max-response-delay": 60000,
>                                                 "max-ack-delay": 5000,
>                                                 "max-unacked-clients": 5,
>                                                 "peers": [{
>                                                         "name": "kea-dhcp-168",
>                                                         "url": "http://192.168.0.168:8000/",
>                                                         "role": "primary",
>                                                         "auto-failover": true
>                                                 }, {
>                                                         "name": "appliance-169",
>                                                         "url": "http://192.168.0.169:8000/",
>                                                         "role": "standby",
>                                                         "auto-failover": true
>                                                 }]
>                                         }]
>                                 }
>                 }],
>             "subnet4": [{
>         "subnet": "4.0.0.0/24",
>                  "option-data": [
>                     {
>                         "data": "2.2.2.2, 8.8.4.4",
>                         "name": "domain-name-servers"
>                     },
>                     {
>                         "data": "4.0.0.1",
>                         "name": "routers"
>                     }
>                 ],
>         "pools": [
>             {
>                 "pool": "4.0.0.25 - 4.0.0.250"
>             }
>         ]
>
>                 }],
>          "loggers": [
>         {
>             "name": "kea-dhcp4",
>             "debuglevel": 99,
>             "output_options": [
>                 {
>                     "output": "/opt/testUAT/var/log/kea-dhcp4.log"
>                 }
>             ],
>             "severity": "DEBUG"
>         }
>     ]
> }
> }
>
> kea-ctrl-agent.conf on Failover
> =======================
> {
>     "Control-agent": {
>         "http-host": "192.168.0.169",
>         "http-port": 8000,
>         "control-sockets": {
>             "dhcp4": {
>                 "socket-type": "unix",
>                 "socket-name": "/tmp/control_socket"
>             }
>         },
>         "cert-required": false
>     }
> }
> Netstat output
> =============
>
> [root at appliance-169 ~]#  netstat -tulpna | grep 8000
> tcp        0      0 192.168.0.169:8000      0.0.0.0:*               LISTEN      28520/kea-ctrl-agen
> tcp        0      0 192.168.0.169:8000      192.168.0.168:57308     ESTABLISHED 28520/kea-ctrl-agen
> tcp        0      0 192.168.0.169:58432     192.168.0.168:8000      ESTABLISHED 28550/kea-dhcp4
> [root at appliance-169 ~]#
>
> [root at kea-dhcp-168 ~]# netstat -tulpna | grep 67
> udp        0      0 192.168.0.169:67        0.0.0.0:*                           28550/kea-dhcp4
> [root at kea-dhcp-168 ~]#
>
> I am not sure why it is unable to forward commands to dhcp4 service, Can someone guide or help me if you face the same issue or are aware of the issue?
>
> Thanks in advance
> Kraishak
>
> --
> 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 at lists.isc.org
> https://lists.isc.org/mailman/listinfo/kea-users


More information about the Kea-users mailing list