Zero-config Kea DHCP management

Point it at your server. It finds your config.

EZ-Kea gives ISC Kea a web interface without asking you to restructure anything. It scans /proc for running kea-dhcp4 and kea-dhcp6 processes, reads the config path each daemon was actually launched with, and edits that file in place.

  • No paths to configure
  • IPv4 and IPv6
  • MIT-licensed source
  • Free to 100 leases
EZ-Kea managing DHCPv4 shared networks and address pools

Discovery

Built for the Kea you already run.

Most tools ask you to describe your deployment before they'll show you anything. EZ-Kea reads it off the running system instead — and if Kea isn't installed at all, it builds a sandbox under ./data/ and runs in demo mode so you can model a network offline.

0

config paths to enter — discovery reads them from the running daemons, and you can override them in the UI

100

active leases on the free tier, with every feature included

231

tests, running with no Kea installation and no network access

It edits your real config, in place.

No parallel database, no exported-then-imported copy of the truth, no new source of drift between what the UI shows and what your DHCP server is actually serving.

One config, not two.

EZ-Kea writes to the same file keactrl reads. There's no sync step to forget and nothing to reconcile after someone edits the JSON by hand. What you see in the tables is what's on disk.

Safe edits, with a way back.

Back up, restore, and syntax-check from the UI before anything is applied, then reload the daemons with keactrl — or a SIGHUP for Docker-based installs. A bad edit is a restore away, not an outage.

Runs where your DHCP runs.

Binds to loopback by default and refuses to listen on a routable address while the secret key is still the default. Fonts and icons are vendored, so it renders correctly on an isolated management VLAN with no internet egress.

Capabilities

Everything Kea does. One interface.

Shared networks, pools, prefix delegation, reservations, high availability, leases, and logs — for both address families, in the same UI.

Auto-discovery

Finds running Kea daemons and binds to their live config files. There are no paths to configure to get started, though you can override every one of them in the UI when your layout is non-standard.

IPv4 and IPv6

Shared networks, standalone subnets, address pools, prefix delegation, and per-subnet DHCP options. IPv6 is a first-class view, not a bolted-on afterthought.

Reservations

MAC-based reservations for DHCPv4, and DUID-based reservations for DHCPv6 covering both fixed addresses and delegated prefixes.

High availability

Configure Kea's libdhcp_ha.so hook for hot-standby, load-balancing, or passive-backup, then watch peer state live over the control socket.

Safe edits

Back up, restore, syntax-check, and apply configuration from the UI, then reload the daemons with keactrl — or SIGHUP for Docker installs.

Leases and logs

Active DHCPv4 and DHCPv6 lease tables plus a searchable daemon log viewer, so troubleshooting a client doesn't mean SSH and grep.

Access control

Multi-user from the start.

Accounts with optional TOTP two-factor, recovery codes, and SMTP-backed password reset. Admin accounts additionally manage users, licensing, and email settings — so the person who runs the server isn't the same as everyone who needs to read a lease table.

Two-factor and recovery

TOTP enrollment with QR provisioning and downloadable recovery codes, for a tool that by definition can reconfigure your network's addressing.

Hardening documented

Secret keys, file permissions, reverse-proxy TLS, and exposure guidance are covered in the Security Hardening guide rather than left as an exercise.

Screenshots

See it before you install it.

These are from the public demo, which runs the real application against a fully synthetic data set.

Licensing

Free to start, and honest about the line.

The source in the repository is MIT licensed. The application it builds is open-core, and it's worth knowing exactly where the line sits before you deploy it.

  • 01 Free tier — every feature, up to 100 active DHCP leases. Not a trial, not a feature-gated edition.
  • 02 Past 100 leases — a banner appears and a seven-day grace period starts. Nothing changes about how the tool works during it.
  • 03 After the grace period — configuration changes are blocked until a commercial license key is entered. Existing config stays readable and Kea keeps serving DHCP.

EZ-Kea never stops your DHCP server. It only stops editing it.

Quick start

Running in five commands.

Requires Python 3.10 or newer. ISC Kea is optional — without it, EZ-Kea starts in demo mode against a local sandbox.

$ git clone https://github.com/fenleytech/ez-kea.git
$ cd ez-kea
$ python3 -m venv venv && source venv/bin/activate
$ pip install -r requirements.txt
$ python3 app.py

# Open http://127.0.0.1:8080 and sign in with admin / changeme.
# You'll be required to change both on first login.

Running it as a systemd service, pointing it at a non-standard Kea layout, and Docker-based Kea deployments are all covered in the Installation guide.

Ready to see it against your own config?

The demo is a shared sandbox on entirely synthetic data, and it resets every 30 minutes — so create and delete whatever you like. Log in with demo / demo.