Opened 22 months ago

Closed 21 months ago

Last modified 20 months 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: normal 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).

Change History (16)

by thomas, 22 months ago

Attachment: kea.patch added

by thomas, 22 months ago

Attachment: kea.init added

comment:1 by thomas, 22 months 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, 22 months 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, 22 months 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, 22 months 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, 22 months ago

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

comment:6 by thomas, 22 months ago

Added a branch named 'kea' to git repo.

comment:7 by Douglas R. Reno, 22 months 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 22 months ago by Douglas R. Reno (previous) (diff)

comment:8 by thomas, 22 months ago

Completed the description of installed binaries

comment:9 by Douglas R. Reno, 21 months 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, 21 months 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, 21 months 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, 21 months 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, 21 months ago

Resolution: fixed
Status: newclosed

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, 20 months ago

Milestone: 11.412.0

Milestone renamed

Note: See TracTickets for help on using tickets.