NAME¶
dhcpcd.conf —
dhcpcd configuration
file
DESCRIPTION¶
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 characters in the value using the \ character.
Blank lines and lines starting with # are ignored.
Here's a list of available options:
- allowinterfaces
pattern
- 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.
- denyinterfaces
pattern
- 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 address.
Example:
interface bge0
arping 192.168.0.1
profile 192.168.0.1
static ip_address=192.168.0.10/24
- background
- Background immediately. This is useful for startup scripts
which don't disable link messages for carrier status.
- blacklist
address[/cidr]
- Ignores all packets from
address[/cidr].
- whitelist
address[/cidr]
- Only accept packets from
address[/cidr].
blacklist is ignored if whitelist is
set.
- broadcast
- 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.
- env
value
- 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.
- clientid
string
- 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
profile
- Fallback to using this profile if DHCP fails. This allows
you to configure a static profile instead of using ZeroConf.
- hostname
name
- 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
.
- interface
interface
- Subsequent options are only parsed for this
interface.
- ipv6ra_fork
- 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.
- leasetime
seconds
- Request a leasetime of seconds.
- metric
metric
- 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
wireless interfaces.
- noarp
- Don't send any ARP requests. This also disables
IPv4LL.
- nogateway
- Don't install any default routes.
- nohook
script
- Don't run this hook script. Matches full name, or prefixed
with 2 numbers optionally ending with .sh.
So to stop dhcpcd from touching your DNS or MTU settings
you would do:-
nohook resolv.conf, mtu
- noipv4ll
- Don't attempt to obtain an IPv4LL address if we failed to
get one via DHCP. See RFC
3927.
- noipv6rs
- Disable solicition of IPv6 Router Advertisements.
- nolink
- Don't receive link messages about carrier status. You
should only set this for buggy interface drivers.
- option
option
- 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.
- nooption
option
- 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.
- destination
option
- 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 interface.
- profile
name
- Subsequent options are only parsed for this profile
name.
- quiet
- Suppress any dhcpcd output to the console, except for
errors.
- reboot
seconds
- 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.
- release
- dhcpcd will release the lease prior to
stopping the interface.
- require
option
- 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.
- script
script
- Use script instead of the default
/lib/dhcpcd/dhcpcd-run-hooks.
- ssid
ssid
- Subsequent options are only parsed for this wireless
ssid.
- static
value
- 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.
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
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.
interface ppp0
static ip_address=
destination routers
- timeout
seconds
- 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.
- userclass
string
- Tag the DHCP messages with the userclass. You can specify
more than one.
- vendor
code,value
- 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.
vendor 01,192.168.0.2
Set the vendor option 02 with a hex code.
vendor 02,01:02:03:04:05
Set the vendor option 03 with an IP address as a string.
vendor 03,\"192.168.0.2\"
Set un-encapsulated vendor option to hello world.
vendor ,"hello world"
- vendorclassid
string
- Change the default vendorclassid sent from dhcpcd-version.
If not set then none is sent.
- waitip
- Wait for an address to be assigned before forking to the
background.
- xidhwaddr
- Use the last four bytes of the hardware address as the DHCP
xid instead of a randomly generated number.
SEE ALSO¶
dhcpcd-run-hooks(8),
dhcpcd(8),
if_nametoindex(3),
fnmatch(3)
AUTHORS¶
Roy Marples ⟨roy@marples.name⟩
BUGS¶
Please report them to
http://roy.marples.name/projects/dhcpcd