UmVirt LFS Package info
DB commit: 3c6efcfc536d7802c89703820d548c1aec13ba9b
APP commit: f0568a86eced844506f88e1faa2e7a1c73783ddf
kea
The ISC Kea package contains the server programs for DHCP. It is the successor of the old ISC DHCP server which is end-of-life since December 2022.Package info
Template: meson
Codename: kea
Source file: kea-3.0.1.tar.xz
Source file size: 6632284
Source file MD5-checkum: fc0e6d43f0afbab9e2abc458bded16ac
Source directory: kea-3.0.1
Package URL: https://umvirt.com/linux/downloads/0.2.4/packages/k/kea-3.0.1.tar.xz
Package md5-checksum URL: https://umvirt.com/linux/downloads/0.2.4/packages/k/kea-3.0.1.tar.xz.md5sum
Dependances: krb5, boost, mariadb-client, postgresql-client, valgrind, log4cplus.
Dependance of: *** NO PACKAGES FOUND ***
Patches: *** NO PATCHES FOUND ***
Addons: *** NO ADDONS FOUND ***
Nestings *** NO NESTINGS FOUND ***
Configuration script:
sed -e "s/, modules: \['system'\]//" -i meson.build &&
sed -e "/shared_ptr.hpp/a#include <boost/asio/deadline_timer.hpp>" \
-i src/lib/asiolink/interval_timer.cc &&
sed -e "/posix_time_types.hpp/a#include <boost/asio/deadline_timer.hpp>" \
-i src/lib/asiodns/io_fetch.cc &&
sed -e "/posix_time_types.hpp/a#include <boost/asio/deadline_timer.hpp>" \
-i src/lib/asiodns/tests/io_fetch_unittest.cc
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--buildtype=release \
-D crypto=openssl \
-D runstatedir=/run
Build script:
cd build
ninja
Install script:
cd build
ninja install
sed -e "s;\${prefix}/;;" -i /usr/sbin/keactrl
install -dm0750 /var/lib/kea
install -dm0750 /var/log/kea
cat > /etc/kea/kea-ctrl-agent.conf << "EOF"
// Begin /etc/kea/kea-ctrl-agent.conf
{
// This is a basic configuration for the Kea Control Agent.
// RESTful interface to be available at http://127.0.0.1:8000/
"Control-agent": {
"http-host": "127.0.0.1",
"http-port": 8000,
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/run/kea/kea4-ctrl-socket"
},
"dhcp6": {
"socket-type": "unix",
"socket-name": "/run/kea/kea6-ctrl-socket"
},
"d2": {
"socket-type": "unix",
"socket-name": "/run/kea/kea-ddns-ctrl-socket"
}
},
"loggers": [
{
"name": "kea-ctrl-agent",
"output_options": [
{
"output": "/var/log/kea/kea-ctrl-agent.log",
"pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
}
],
"severity": "INFO",
"debuglevel": 0
}
]
}
}
// End /etc/kea/kea-ctrl-agent.conf
EOF
cat > /etc/kea/kea-dhcp4.conf << "EOF"
// Begin /etc/kea/kea-dhcp4.conf
{
"Dhcp4": {
// Add names of your network interfaces to listen on.
"interfaces-config": {
"interfaces": [ "eth0", "eth2" ]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea/kea4-ctrl-socket"
},
"lease-database": {
"type": "memfile",
"lfc-interval": 3600,
"name": "/var/lib/kea/kea-leases4.csv"
},
"expired-leases-processing": {
"reclaim-timer-wait-time": 10,
"flush-reclaimed-timer-wait-time": 25,
"hold-reclaimed-time": 3600,
"max-reclaim-leases": 100,
"max-reclaim-time": 250,
"unwarned-reclaim-cycles": 5
},
"renew-timer": 900,
"rebind-timer": 1800,
"valid-lifetime": 3600,
// Enable DDNS - Kea will dynamically update the DNS
"ddns-send-updates" : true,
"ddns-qualifying-suffix": "your.domain.tld",
"dhcp-ddns" : {
"enable-updates": true
},
"subnet4": [
{
"id": 1001, // Each subnet requires a unique numeric id
"subnet": "192.168.56.0/24",
"pools": [ { "pool": "192.168.56.16 - 192.168.56.254" } ],
"option-data": [
{
"name": "domain-name",
"data": "your.domain.tld"
},
{
"name": "domain-name-servers",
"data": "192.168.56.2, 192.168.3.7"
},
{
"name": "domain-search",
"data": "your.domain.tld"
},
{
"name": "routers",
"data": "192.168.56.2"
}
]
}
],
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "/var/log/kea/kea-dhcp4.log",
"pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
}
],
"severity": "INFO",
"debuglevel": 0
}
]
}
}
// End /etc/kea/kea-dhcp4.conf
EOF