Comparison of DHCP server software
The following comparison of DHCP and DHCPv6 server compares general and technical information for a number of DHCP server software programs.
Contents
General
Name | Author | First public release | latest stable version | Cost | Software license | Written in |
---|---|---|---|---|---|---|
dhcpy6d[dh 1] | Henri Wahl (Leibniz Institute for Solid State and Materials Research Dresden) | 2012 | 6 January 2016 | free software | GPLv2 | Python |
dibbler[di 1] | Tomasz Mrugalski and Marek Senderski | 2004 | 1 August 2015 | free software | GPL | C, C++, Shell[di 2] |
dnsmasq | Simon Kelley | 2001 | 2.75 (July 30, 2015[±][1] | )free software | GPLv2 or GPLv3 | C |
ISC DHCP | Internet Systems Consortium | 1999 | Extended Support Version: 4.1-ESV-R9 (February 3, 2014[±][2] Current-stable: 4.2.6 (February 3, 2014[±][3] |
) free software | ISC License | C |
FreeRADIUS[freeradius 1] | FreeRADIUS Development Team | 2012 (First stable release including DHCPv4 support) | FreeRADIUS 3.0.11 (January 25, 2016 ) [±][6][7] | free software | GPLv2 | C |
Jagornet DHCP[jag 1] | Jagornet Technologies (A. Gregory Rabil) | 2011 | 2.0.0 (October 29, 2014 | )free software | GPLv3 | Java |
Kea DHCP[kea 1] | Internet Systems Consortium (Tomek Mrugalski) | 2014 | —[kea 2] | free software | ISC License | C++ |
udhcpd | Matthew Ramsay | 1999 | busybox 1.24.2 (March 24, 2016 ) [±][8] | free software | GNU GPLv2 only | C |
WIDE-DHCPv6[wi 1] | KAME project | ? | 20080615 (15 June 2008 | )free software | BSD License | C, shell |
Operating system requirement
In this overview of operating system support for the discussed DHCP server, the following terms indicate the level of support:
- No indicates that it does not exist or was never released.
- Partial indicates that while it works, the server lacks important functionality compared to versions for other OSs; it is still being developed however.
- Beta indicates that while a version is fully functional and has been released, it is still in development (e.g. for stability).
- Yes indicates that it has been officially released in a fully functional, stable version.
- Included indicates that the server comes pre-packaged with or has been integrated into the operating system.
This compilation is not exhaustive, but rather reflects the most common platforms today.
Server | BSD | Solaris | Linux | Mac OS X | Windows |
---|---|---|---|---|---|
dhcpy6d | Yes | ? | Yes | Yes | No |
dibbler | Yes | ? | Yes | Yes | Yes |
dnsmasq | Yes | No | Yes | Yes | No |
ISC DHCP | Yes | Yes | Yes | No | No |
FreeRADIUS | Yes | Yes | Yes | Yes | No |
Jagornet DHCP | Yes | Yes | Yes | Yes | Yes |
Kea DHCP | Yes | Beta | Yes | Beta | No |
udhcpd | Yes | Yes | Yes | Yes | No |
WIDE-DHCPv6 | Yes | ? | Yes | ? | No |
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
Feature Matrix
Server | BOOTP | DHCP | DHCPv6 | other | interface |
---|---|---|---|---|---|
dhcpy6d | No | No | Yes | ? | ? |
dibbler | No | No | Yes | ? | ? |
dnsmasq | Yes | Yes | Yes | PXE, TFTP | ? |
ISC DHCP | Yes | Yes | Yes | ? | ? |
FreeRADIUS | ? | Yes | No | ? | ? |
Jagornet DHCP | Yes | Yes | Yes | ? | ? |
Kea DHCP | Yes | Yes | Yes | ? | ? |
udhcpd | Yes | Yes | No | ? | ? |
WIDE-DHCPv6 | No | No | Yes | ? | ? |
RFC Matrix
Server | RFC 951 | RFC 1534 | RFC 1542 | RFC 2131 | RFC 2132 | RFC 3046 | RFC 3315 | RFC 3319 | RFC 3633 | RFC 3646 | RFC 3736 | RFC 3942 | RFC 4242 | RFC 4361 | RFC 4436 | RFC 5007 | RFC 6221 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dhcpy6d | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
dibbler | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Dnsmasq | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
ISC DHCP | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
FreeRADIUS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Jagornet DHCP | Yes | Yes | Yes | Partial | ? | Yes | Partial | ? | Yes | ? | ? | Yes | Yes | Yes | Yes | Yes | ? | ? |
Kea DHCP | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
udhcpd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
WIDE DHCPv6 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
See also
References
General
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
FreeRADIUS
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
Jagornet DHCP
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
Kea DHCP
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
dhcpy6d
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
dibbler
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
WIDE DHCPD
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
Cite error: <ref>
tags exist for a group named "dh", but no corresponding <references group="dh"/>
tag was found, or a closing </ref>
is missing
Cite error: <ref>
tags exist for a group named "di", but no corresponding <references group="di"/>
tag was found, or a closing </ref>
is missing
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
Cite error: <ref>
tags exist for a group named "freeradius", but no corresponding <references group="freeradius"/>
tag was found, or a closing </ref>
is missing
Cite error: <ref>
tags exist for a group named "jag", but no corresponding <references group="jag"/>
tag was found, or a closing </ref>
is missing
Cite error: <ref>
tags exist for a group named "kea", but no corresponding <references group="kea"/>
tag was found, or a closing </ref>
is missing
Cite error: <ref>
tags exist for a group named "wi", but no corresponding <references group="wi"/>
tag was found, or a closing </ref>
is missing