Followed the install instructions, cannot get the KEA dhcp4 service to connect
I have just followed the instructions to install Stork (the Ubuntu package option - https://kea.readthedocs.io/projects/Stork/en/v0.14.0/install.html ). I have gone through and checked to make sure I have followed it to the T at least a dozen times, and I definitely have, the only thing I changed was the stork DB username password.
I can log into Stork and I can add the new machine, I get a green tick for the CA, but I not for DHCP4 (the target server is DHCP4 only). It says:
There is observed issue in communication with the daemon.
On the KEA server the agent log reports:
promkeaexporter.go:370 problem with connecting to dhcp daemon: unable to forward command to the dhcp4 service: No such file or directory. The server is likely to be offline
I am sure this is probably a config issue, but the manuals for KEA and Stork offer me no concrete way to verify that I have kea setup right for this, so I am just bashing my head against the wall on this. The documentation does not seem to indicate where on the Stork server the logs are kept, so I am struggling to even work out what the issue is, let alone where it might be.
The KEA DHCP4 server is working just fine, handing out IPs and what not.
Any help would be greatly appreciated. What am I doing wrong here?
Both server are Ubuntu 20.04LTS, completely vanilla installs, and the KEA server is a stand alone one (no HA or anything like that). Stork is set with all the defaults in the ENV file (as per the install guide).
My (sanitized) KEA config:
{ "Dhcp4":
{
"interfaces-config": { "interfaces": [ "enp1s0f0","sub_int1","sub_int2" ] },
"lease-database": {
"type": "memfile",
"persist": true,
"name": "/path/to/file.csv",
"lfc-interval": 3600
},
"valid-lifetime": 43200,
"renew-timer": 28800,
"rebind-timer": 2000,
"echo-client-id": false,
"match-client-id": true,
"authoritative": true,
"subnet4":
[
{
"subnet": "10.10.0.0/16",
"pools": [ { "pool": "10.10.60.1 - 10.10.69.255" } ],
"option-data": [
{ "name": "domain-name-servers", "data": "IP1, IP2>". },
{ "name": "routers", "data": "GW_IP" }
]
},
{
"subnet": "10.12.0.0/16",
"pools": [ { "pool": "10.12.60.0 - 10.12.69.255" } ],
"option-data": [
{"name": "domain-name-servers", "data": "IP" },
{"name": "routers", "data": "GW_IP" }
]
}
],
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "/path/to/log/file.log",
"maxver": 8,
"maxsize": 204800,
"flush": true,
"pattern": "%d{%j %H:%M:%S.%q} %c %m\n"
}
],
"severity": "INFO"
}
]
}
}
And here is my KEA Control agent config:
{
"Control-agent": {
"http-host": "IP_of_Kea_Server",
"http-port": 8000,
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/tmp/kea-dhcp4-ctrl.sock"
}
},
"hooks-libraries": [
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_stat_cmds.so"
}
],
// Logging configuration starts here. Kea uses different loggers to log various
// activities. For details (e.g. names of loggers), see Chapter 18.
"loggers": [
{
// This specifies the logging for Control Agent daemon.
"name": "kea-ctrl-agent",
"output_options": [
{
"output": "/path/to/logfile.log"
}
],
// This specifies the severity of log messages to keep. Supported values
// are: FATAL, ERROR, WARN, INFO, DEBUG
"severity": "INFO",
"debuglevel": 0
}
]
}
}