The Unified, Enterprise-Grade Open Source DHCP Server
Run DHCPv4, DHCPv6, Dynamic DNS, gRPC High Availability, and OpenAPI REST management in one lightweight runtime. Designed as a clean, drop-in successor to end-of-life ISC DHCP—without the multi-daemon sprawl or external C++ hook libraries of Kea.
$ ./bin/dhcpserver -c config/dhcpserver.yaml
Starting Jagornet DHCP Server: Wed Oct 28 20:18:47 EDT 2026
jagornet-dhcp-server 5.0.0
Copyright Jagornet Technologies, LLC.
jagornet.dhcp.home=/opt/jagornet/jagornet-dhcp-5.0.0
DHCPv4 Unicast addresses: [/10.0.0.10]
DHCPv4 Broadcast interface: eth0
DHCPv4 Port number: 67
DHCPv6 Unicast addresses: [/2001:db8:1::1]
DHCPv6 Multicast interfaces: [eth0]
DHCPv6 Port number: 547
gRPC address: 0.0.0.0
gRPC port: 9066
HTTPS address: 0.0.0.0
HTTPS port: 9067Operational Simplicity Without Daemon Sprawl
With ISC DHCP at End-of-Life, network engineers and DDI architects face a choice: wrestle with Kea's fragmented multi-process architecture, or deploy a single, policy-driven server with identical Mozilla Public License 2.0 (MPL 2.0) freedom.
| Architectural Dimension | Legacy ISC DHCP | ISC Kea DHCP | Jagornet DHCP 5.0 |
|---|---|---|---|
| Lifecycle & License | End of Life (Dec 2022) | Active • MPL 2.0 (+ Paid Hooks) | Active • 100% MPL 2.0 Core |
| Process Model | Separate v4 / v6 daemons | 4+ Daemons (kea-dhcp4, kea-dhcp6, ctrl-agent, ddns) | Single Unified Service (v4, v6, DDNS, HA & REST in one) |
| Extensibility & Policy | Static config file | External C++ Hook Libraries | Built-in Policy Engine + Hot-Reloading Client Filters |
| Platform Support | Linux / BSD only | Linux / Unix (C++ build dependencies) | Cross-Platform Java 21+ (Linux, Windows, macOS & Containers) |
| High Availability (HA) | DHCPv4 Failover only | Requires Hook Library + Control Agent | Native gRPC Active/Standby Sync (Zero external deps) |
| Configuration Formats | Proprietary dhcpd.conf | Verbose JSON across multiple files | YAML, JSON, or XML (Single schema-validated file) |
| Observability | Log parsing | Stork agent & separate exporters | Built-in Prometheus Metrics & OpenAPI 3.0 REST |
Already managing your network through an overlay or enterprise DDI suite? Ask your DDI vendor when they plan to support Jagornet DHCP Server 5.0—with its MPL 2.0 license and complete OpenAPI 3.0 REST interface, vendors can integrate it cleanly without multi-daemon orchestration.
Engineered for Modern Cloud, Container & On-Prem Networks
Every major enhancement in the 5.0 release was built to make enterprise DHCP operations faster, safer, and easier to automate.
Enterprise-Friendly Open Source
Re-licensed from GPLv3 to the Mozilla Public License 2.0 (MPL 2.0), providing 100% licensing parity with Kea while protecting core file improvements. Safe for corporate legal teams and DDI integrations.
RFC 3011, RFC 3527 & RFC 5107
Full support for the IPv4 Subnet Selection Option (RFC 3011), Relay Agent Link Selection (RFC 3527), and Server Identifier Override (RFC 5107)—purpose-built for cloud VPC relays and complex enterprise routing.
PostgreSQL, MySQL, SQLite & H2
Redesigned v2 relational lease schema supporting enterprise PostgreSQL and MySQL / MariaDB clusters alongside lightweight SQLite and embedded H2 backends.
Multi-Strategy DDNS & Conflict Resolution
Forward and reverse Dynamic DNS updates with configurable conflict resolution strategies, automatic client hostname validation, sanitization, and fallback hostname generation.
Hot-Reloading MAC & DUID Filters
File-based client MAC address and DHCPv6 DUID inclusion/exclusion filter lists with automatic file watching and hot-reloading—update access policies without restarting the server.
Prometheus Metrics & Cross-Platform Runtime
Out-of-the-box Micrometer / Prometheus telemetry and OpenAPI 3.0 management, running on Java 21+ and Netty 4 across Linux, Windows, macOS, and Docker/OCI.
Test Lease Allocation Locally—Without Root
Evaluate Jagornet DHCP Server on your macOS, Linux, or Windows workstation in under a minute without sudo or impacting your local network:
- Generate a test configuration matching your active network interface.
- Start the server on unprivileged test ports (
10067/10547). - Simulate a client lease request using the bundled Netty-powered test client.
# 1. Generate test config for your interface (e.g. eth0 or en0)
./bin/gentestconfig -i en0
# 2. Run server on unprivileged ports (no root required)
./bin/dhcpserver -4p 10067 -6p 10547 -c dhcpserver-test-config.xml
# 3. Simulate client request in another terminal
./bin/testclientv4 -p 10067