Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#18160 closed enhancement (fixed)

Add ISC Kea (DHCP server)

Reported by: thomas Owned by: blfs-book
Priority: normal Milestone: 12.0
Component: BOOK Version: git
Severity: medium Keywords: dhcp dhcpd kea isc
Cc:

Description

Add ISC-Kea to book.

ISC-dhcpd is end of life. No further development will be done (maybe except for fixing fatal security flaws).

ISC has a new server: "Kea" which is the successor of dhcpd. Unfortunatly, it adds another dependency (log4cplus).

Attachments (2)

kea.patch​ (18.7 KB ) - added by thomas 3 years ago.
kea.init​ (1.3 KB ) - added by thomas 3 years ago.

Download all attachments as: .zip

Change History (16)

by thomas, 3 years ago

Attachment: kea.patch​ added

by thomas, 3 years ago

Attachment: kea.init​ added

comment:1 by thomas, 3 years ago

I've added a patch​ (to the BLFS book) as well as a sysv init script​.

It all might not "production ready" yet but i think it can be used as a starting point.

comment:2 by Xi Ruoyao, 3 years ago

Does the upstream provide a systemd unit file? If not we'll need to add one into blfs-systemd-units.

comment:3 by Douglas R. Reno, 3 years ago

I do have equipment to setup a separate network here if we do need to add a unit file

in reply to:  2 comment:4 by thomas, 3 years ago

Replying to Xi Ruoyao:

Does the upstream provide a systemd unit file? If not we'll need to add one into blfs-systemd-units.

Doesn't look like that they provide some. But Arch has such files. Maybe we can have a look to them.

comment:5 by pierre, 3 years ago

See also #16527, about dhclient. Guess it should be closed together with this one when ISC-kea is added.

comment:6 by thomas, 3 years ago

Added a branch named 'kea' to git repo.

comment:7 by Douglas R. Reno, 3 years ago

If we do decide to go through with this, I'll write the units or port from Arch and do some testing. We'll need a few units and a tmpfiles entry. As Pierre mentioned above, the DHCP package should probably be archived once this is put in.

We should also add some optional dependencies too - sphinx-rtd-theme (which pulls in Sphinx), doxygen, and graphviz for documentation; kerberos is mentioned, and postgresql/mariadb can be used for the lease information database. That's pretty similar to BIND. It also looks for several things from Boost, so that should be added in somewhere too, as well as asciidoc and valgrind. For documentation, texlive can also be used

To use sphinx, add --enable-generate-docs to the configure line. For Texlive, add --with-pdflatex

For PostgreSQL, it looks like you have to pass --with-pgsql. For MariaDB, it looks like --with-mysql. For Kerberos, you'd pass --with-gssapi. We should probably document these in command explanations

I do appreciate how descriptive it's configure script is.

Last edited 3 years ago by Douglas R. Reno (previous) (diff)

comment:8 by thomas, 3 years ago

Completed the description of installed binaries

comment:9 by Douglas R. Reno, 3 years ago

I've got Kea started on my laptop while I wait on a longer build to complete. While doing some initial testing though, I've ran into an issue from /etc/kea/kea-dhcp-ddns.conf, we're missing a "," after "output" in the loggers option

in reply to:  9 comment:10 by thomas, 3 years ago

Replying to Douglas R. Reno:

I've got Kea started on my laptop while I wait on a longer build to complete. While doing some initial testing though, I've ran into an issue from /etc/kea/kea-dhcp-ddns.conf, we're missing a "," after "output" in the loggers option

Thanks - fixed.

comment:11 by Douglas R. Reno, 3 years ago

Nice work on this! I've confirmed it to be working and wrote a systemd unit for it.

The systemd unit was added to the book at 9491763ce9783459fad111016d0d68f730f6c273, and the new version is 20230627.

There's a couple minor issues I'd like to bring up though. In the Kea page, it looks like we have /etc/kea/kea-dhcpd4.conf, instead of /etc/kea/kea-dhcp4.conf (notice the extra 'd' there). That only appears when creating the configuration file, it doesn't appear in the Configuration Files listing. Kea doesn't appear to read /etc/kea/kea-dhcpd4.conf, at least on my system.

Also I'm not sure if this is fixed, but the bootscript refers to /var/run/kea still instead of /run/kea :)

I'm all good with it merging on my end!

comment:12 by thomas, 3 years ago

  • kea-dhcpd4.conf vs. kea-dhcp4.conf
    Good catch! Fixed the page to read kea-dhcp4.conf [557180558c]
  • bootscripts referring to /var/run/kea
    I've fixed that already but it seems I forgot to commit&push [fb22c1a]

comment:13 by thomas, 3 years ago

Resolution: → fixed
Status: new → closed

Branch 'kea' merged to trunk.

Any changes should now go into trunk, no longer into kea.

Fixed finally in [aefd11c]

comment:14 by Bruce Dubbs, 3 years ago

Milestone: 11.4 → 12.0

Milestone renamed

Note: See TracTickets for help on using tickets.