dhcpcd is an RFC2131 compliant DHCP client. It is fully featured and yet lightweight: the binary is 60k as reported by size(1) on Linux i386. It has support for duplicate address detection, IPv4LL, carrier detection, and a merged resolv.conf and ntp.conf for which other DHCP clients require third party tools.
| Tags | Networking |
|---|---|
| Operating Systems | POSIX Linux BSD |
| Implementation | C |
Recent releases


Changes: A crash on MIPS has been fixed. This release will default to requesting interface MTU, and save and restore interface MTU when changing. IP whitelist has been added. Detection of correct dstaddr for PtP interfaces at startup has been fixed. This release ensures that the lease and pidfile directories exist at startup.


Changes: The ServerID requirement in DHCP messages can be toggled in dhcpcd.conf. If MTU is requested, it won't be applied if it's less than 576. A minimum lease time of 20 seconds is enforced.


Changes: The -n option now starts dhcpcd if it is not already started. The 29-lookup-hostname hook was installed by default, but was skipped in dhcpcd.conf. A warning about missing directories if we don't have any existing state was fixed. Compiling on some Linux distributions regarding linux/wireless.h was fixed. A crash when getifaddrs(3) returns NULL ifa_addr was fixed.


Changes: Compile warnings on Sparc64 were silenced. Existing address detection was fixed.


Changes: A single daemon can now run DHCP on multiple interfaces at the same time. Configuration profiles may be set per interface, ssid, arping, and fallback. The program now listens to third party programs changing routing information. DHCP INFORM over PPP is supported. Static options for a destination address can be configured. A control socket was implemented so third party programs can control or listen directly to dhcpcd events. dhcpcd is now also a BOOTP client.
Connect Atlassian dev tools (JIRA, Bamboo, Crucbile, FishEye) to IntelliJ IDEA.
- All comments
Recent comments*** WARNING *** dhcpcd will over-write /etc/ntp.conf
If using a consumer-grade router, eg. SMC Barricade 7004AWBR and dhcpcd with NTP client, then, you'll have to pass the 'dhcpcd -N' command to prevent over-write of your '/etc/ntp.conf' file. dhcpcd is supposed to restore the file upon exit -- but it does not --. Consumer routers will often grant infinite IP address' to clients and this causes dhcpcd to exit(rather than deamonize to background). It does not restore the ntp.conf file as indicated by the man page(!?).
'dhcpcd -N' will prevent this behavior.
The best DHCP client
I believe that dhcpcd is the best DHCP client for GNU/Linux. I have never had problems with it. It's easy to setup and it works with all DHCP servers and network interfaces I have ever tried.
I remember seeing both dhclient and pump confused where dhcpcd just did its job. In one case it was a buggy DHCP server, in the other it was a buggy network driver.
Many thanks to the developers of dhcpcd.