1 # dhcpcd 2 3 dhcpcd is a 4 [DHCP](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol) and a 5 [DHCPv6](https://en.wikipedia.org/wiki/DHCPv6) client. 6 It's also an IPv4LL (aka [ZeroConf](https://en.wikipedia.org/wiki/Zeroconf)) 7 client. 8 In layperson's terms, dhcpcd runs on your machine and silently configures your 9 computer to work on the attached networks without trouble and mostly without 10 configuration. 11 12 If you're a desktop user then you may also be interested in 13 [Network Configurator (dhcpcd-ui)](http://roy.marples.name/projects/dhcpcd-ui) 14 which sits in the notification area and monitors the state of the network via 15 dhcpcd. 16 It also has a nice configuration dialog and the ability to enter a pass phrase 17 for wireless networks. 18 19 dhcpcd may not be the only daemon running that wants to configure DNS on the 20 host, so it uses [openresolv](http://roy.marples.name/projects/openresolv) 21 to ensure they can co-exist. 22 23 See [BUILDING.md](BUILDING.md) for how to build dhcpcd. 24 25 ## Configuration 26 27 You should read the dhcpcd.conf man page 28 and put your options into `/etc/dhcpcd.conf`. 29 The default configuration file should work for most people just fine. 30 Here it is, in case you lose it. 31 32 ``` 33 # A sample configuration for dhcpcd. 34 # See dhcpcd.conf(5) for details. 35 36 # Allow users of this group to interact with dhcpcd via the control socket. 37 #controlgroup wheel 38 39 # Inform the DHCP server of our hostname for DDNS. 40 hostname 41 42 # Use the hardware address of the interface for the Client ID. 43 #clientid 44 # or 45 # Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361. 46 # Some non-RFC compliant DHCP servers do not reply with this set. 47 # In this case, comment out duid and enable clientid above. 48 duid 49 50 # Persist interface configuration when dhcpcd exits. 51 persistent 52 53 # Rapid commit support. 54 # Safe to enable by default because it requires the equivalent option set 55 # on the server to actually work. 56 option rapid_commit 57 58 # A list of options to request from the DHCP server. 59 option domain_name_servers, domain_name, domain_search, host_name 60 option classless_static_routes 61 # Respect the network MTU. This is applied to DHCP routes. 62 option interface_mtu 63 64 # Most distributions have NTP support. 65 #option ntp_servers 66 67 # A ServerID is required by RFC2131. 68 require dhcp_server_identifier 69 70 # Generate SLAAC address using the Hardware Address of the interface 71 #slaac hwaddr 72 # OR generate Stable Private IPv6 Addresses based from the DUID 73 slaac private 74 ``` 75 76 The dhcpcd man page has a lot of the same options and more, 77 which only apply to calling dhcpcd from the command line. 78 79 80 ## Compatibility 81 dhcpcd-5 is only fully command line compatible with dhcpcd-4. 82 For compatibility with older versions, use dhcpcd-4. 83 84 ## Upgrading 85 dhcpcd-7 defaults the database directory to `/var/db/dhcpcd` instead of 86 `/var/db` and now stores dhcpcd.duid and dhcpcd.secret in there instead of 87 in /etc. 88 89 dhcpcd-9 defaults the run directory to `/var/run/dhcpcd` instead of 90 `/var/run` and the prefix of dhcpcd has been removed from the files therein. 91 92 ## ChangeLog 93 We no longer supply a ChangeLog. 94 However, you're more than welcome to read the 95 [commit log](https://github.com/NetworkConfiguration/dhcpcd/commits) and 96 [release announcements](https://github.com/NetworkConfiguration/dhcpcd/releases). 97