DHCPCD.CONF(5) System Manager's Manual DHCPCD.CONF(5)
dhcpcd.conf -- dhcpcd configuration file
Although dhcpcd can do everything from the command line, there are cases where it's just
easier to do it once in a configuration file. Most of the options found in dhcpcd(8) can be
used here. The first word on the line is the option and the rest of the line is the value.
Leading and trailing whitespace for the option and value are trimmed. You can escape char-
acters in the value using the \ character.
Blank lines and lines starting with # are ignored.
Here's a list of available options:
When discovering interfaces, the interface name must match pattern which is a space
or comma separated list of patterns passed to fnmatch(3). If the same interface is
matched in denyinterfaces then it is still denied.
When discovering interfaces, the interface name must not match pattern which is a
space or comma separated list of patterns passed to fnmatch(3).
arping address [address]
dhcpcd will arping each address in order before attempting DHCP. If an address is
found, we will select the replying hardware address as the profile, otherwise the ip
Background immediately. This is useful for startup scripts which don't disable link
messages for carrier status.
Ignores all packets from address[/cidr].
Only accept packets from address[/cidr]. blacklist is ignored if whitelist is set.
Instructs the DHCP server to broadcast replies back to the client. Normally this is
only set for non Ethernet interfaces, such as FireWire and InfiniBand. In most
cases, dhcpcd will set this automatically.
Push value to the environment for use in dhcpcd-run-hooks(8). For example, you can
force the hostname hook to always set the hostname with env force_hostname=YES.
Send the clientid. If the string is of the format 01:02:03 then it is encoded as
hex. For interfaces whose hardware address is longer than 8 bytes, or if the
clientid is an empty string then dhcpcd sends a default clientid of the hardware
family and the hardware address.
duid Generate an RFC 4361. compliant clientid. This requires persistent storage and not
all DHCP servers work with it so it's not enabled by default. The duid generated
will be held in /etc/dhcpcd.duid and should not be copied to other hosts.
Fallback to using this profile if DHCP fails. This allows you to configure a static
profile instead of using ZeroConf.
Sends hostname to the DHCP server so it can be registered in DNS. If hostname is an
empty string then the current system hostname is sent. If hostname is a FQDN (ie,
contains a .) then it will be encoded as such.
fqdn [none | ptr | both]
none disables FQDN encoding, ptr just asks the DHCP server to update the PTR record
of the host in DNS whereas both also updates the A record. dhcpcd itself never does
any DNS updates. dhcpcd encodes the FQDN hostname as specified in RFC1035.
Subsequent options are only parsed for this interface.
By default, when dhcpcd receives an IPv6 RA, dhcpcd will only fork to the background
if the RA contains at least one unexpired RDNSS option. Set this option so to make
dhcpcd always fork on an RA.
Disables kernel IPv6 Router Advertisment processing so dhcpcd can manage addresses
Each time dhcpcd receives an IPv6 Router Adveristment, dhcpcd will manage the
default route only. This allows dhcpcd to prefer an interface for outbound traffic
based on metric and/or user selection rather than the kernel.
Enables IPv6 Router Advertisment solicitation. This is on by default, but is docu-
mented here in the case where it is disabled globally but needs to be enabled for
Request a leasetime of seconds.
Metrics are used to prefer an interface over another one, lowest wins. dhcpcd will
supply a default metric of 200 + if_nametoindex(3). An extra 100 will be added for
noarp Don't send any ARP requests. This also disables IPv4LL.
Don't install any default routes.
Don't run this hook script. Matches full name, or prefixed with 2 numbers option-
ally ending with .sh.
So to stop dhcpcd from touching your DNS or MTU settings you would do:-
nohook resolv.conf, mtu
Don't attempt to obtain an IPv4LL address if we failed to get one via DHCP. See RFC
Disable solicition of IPv6 Router Advertisements.
nolink Don't receive link messages about carrier status. You should only set this for
buggy interface drivers.
Requests the option from the server. It can be a variable to be used in
dhcpcd-run-hooks(8) or the numerical value. You can specify more options separated
by commas, spaces or more option lines.
Remove the option from the DHCP message. This should only be used when a DHCP
server sends a non requested option that should not be processed.
If dhcpcd.conf detects an address added to a point to point interface (PPP, TUN,
etc) then it will set the listed DHCP options to the destination address of the
Subsequent options are only parsed for this profile name.
quiet Suppress any dhcpcd output to the console, except for errors.
Allow reboot seconds before moving to the discover phase if we have an old lease to
use. The default is 5 seconds. A setting if 0 seconds causes dhcpcd to skip the
reboot phase and go straight into discover.
dhcpcd will release the lease prior to stopping the interface.
Requires the option to be present in all DHCP messages, otherwise the message is
ignored. It can be a variable to be used in dhcpcd-run-hooks(8) or the numerical
value. You can specify more options separated by commas, spaces or more require
lines. To enforce that dhcpcd only responds to DHCP servers and not BOOTP servers,
you can require dhcp_message_type.
Use script instead of the default /libexec/dhcpcd-run-hooks.
Subsequent options are only parsed for this wireless ssid.
Configures a static value. If you set ip_address then dhcpcd will not attempt to
obtain a lease and just use the value for the address with an infinite lease time.
Here is an example which configures a static address, routes and dns.
Here is an example for PPP which gives the destination a default route. It uses the
special destination keyword to insert the destination address into the value.
The default timeout for waiting for a DHCP response is 30 seconds which may be too
long or too short and can be changed here.
Tag the DHCP messages with the userclass. You can specify more than one.
Add an encapsulated vendor option. code should be between 1 and 254 inclusive. To
add a raw vendor string, omit code but keep the comma. Examples.
Set the vendor option 01 with an IP address.
Set the vendor option 02 with a hex code.
Set the vendor option 03 with an IP address as a string.
Set un-encapsulated vendor option to hello world.
vendor ,"hello world"
The default is dhcpcd-<version>:<os>:<machine>:<platform>. For example
If not set then none is sent. Some badly configured DHCP servers reject unknown
vendorclassids. To work around it, try and impersonate Windows by using the MSFT
waitip Wait for an address to be assigned before forking to the background.
Use the last four bytes of the hardware address as the DHCP xid instead of a ran-
domly generated number.
dhcpcd-run-hooks(8), dhcpcd(8), if_nametoindex(3), fnmatch(3)
Roy Marples <email@example.com>
Please report them to
BSD May 21, 2012 BSD