Provided by: dhcpcd_2.0.0-2_i386
dhcpcd - DHCP client daemon
dhcpcd [-dknoprBCDHNRSTY] [-t <timeout>] [-c <ExecFilePath>]
[-h <hostname>] [-i <vendorClassID>] [-I <clientID>]
[-l <leasetime>] [-s [ipaddr]] [-F none|ptr|both] [-G [gateway]]
[-w <windowsize>] [-L <ConfigDir>] [-e <etcDir>]
[-m <routeMetric>] [interface]
dhcpcd is an implementation of the DHCP client specified in RFC2131
(when -r option is not specified) and RFC1541 (when -r option is
specified). Support for draft-ietf-dhc-fqdn-option in use in many
systems (particularly networks using Microsoft DHCP servers) is also
It gets the host information (IP address, netmask, broadcast address,
etc.) from a DHCP server and configures the network interface of the
machine on which it is running. It also tries to renew the lease time
according to RFC2131 or RFC1541 (obsolete).
-d With this flag dhcpcd will syslog(LOG_DEBUG,...) messages for
about every step it does. It’s recommended to use this option
since it doesn’t really produce too much output but will greatly
help in resolving a problems if any. dhcpcd uses LOCAL0 syslog
facility for its output. To catch dhcpcd debugging output add
the following line to /etc/syslog.conf file:
and then refresh syslogd daemon:
kill -1 ‘cat /var/run/syslogd.pid‘
-k Sends SIGHUP signal to the dhcpcd process associated with the
specified interface if one is currently running. If dhcpcd
receives SIGHUP it will send DCHP_RELEASE message to the server
and destroy dhcpcd cache. In a case dhcpcd receives SIGTERM
which is normally used by shutdown(8) when rebooting the system
dhcpcd will not send DHCP_RELEASE and will not destroy cache.
When system boots dhcpcd will use cache to request the same IP
address from DHCP server which was assigned before the system
went down. (see also -p )
routes will be added with the given metric. The default is 0.
-n Sends SIGALRM signal to the dhcpcd process that is currently
running which forces dhcpcd to try to renew the lease. If dhcpcd
is not running, the flag is ignored and dhcpcd follows the
normal startup procedure.
-o Stops dhcpcd from bringing the interface down when it is
terminated with the SIGTERM signal. This is useful when the
interace is controlled by another daemon such as ifplugd or
wpa_supplicant and the daemon requires the interface to remain
-p Stops dhcpcd from bringing the interface down when it is
terminated with the SIGTERM signal. This is useful when a host
is running with an NFS-mounted root filesystem over an interface
controlled by DHCP. It should not be used except in those
circumstances, since if dhcp is stopped it can no longer down an
interface at the end of its lease period when the lease is not
renewed. Unlike the -o option, the address remains on the
-r Makes dhcpcd RFC1541 (obsolete) compliant. dhcpcd is RFC2131
compliant unless this option is specified.
-B Requests broadcast response from DHCP server.
-C Forces dhcpcd to calculate checksum on received packets.
-D Forces dhcpcd to set domainname of the host to the domainname
option supplied by DHCP server.
Forces dhcpcd to request the DHCP server update the DNS using
the FQDN option instead of the Hostname option. The name used by
this option is specified with the -h switch, which must be
present. If the -h switch is not present, the FQDN option is
ignored. The name should be fully qualified, although servers
usually accept a simple name. both requests that the DHCP
server update both the A and PTR records in the DNS. ptr
requests that the DHCP server updates only the PTR record in the
DNS. none requests that the DHCP server perform no updates.
dhcpcd does not perform any DNS update, even when the server is
requested to perform no updates. This can be easily implemented
outside the client; all the necessary information is recorded in
the <ConfigDir>/dhcpcd-<interface>.info file.
-H Forces dhcpcd to set hostname of the host to the hostname option
supplied by DHCP server. By default dhcpcd will NOT set
hostname of the host to the hostname option received from DHCP
dhcpcd will use <ConfigDir> directory instead of default
/var/lib/dhcpc to store configuration information.
-S Forces dhcpcd to send second DHCP_DISCOVER message even after
receiving DHCP_OFFER on the first one. Some DHCP servers expect
the client to send second DHCP_DISCOVER message before replying
-R Prevents dhcpcd from replacing existing <etcDir>/resolv.conf
-Y Prevents dhcpcd from replacing existing <etcDir>/yp.conf file.
Domainname is not updated unless -D is specified.
-N Prevents dhcpcd from replacing existing <etcDir>/ntp.conf file.
-T Test case, when dhcpcd goes through the DHCP negotiation
sequence but doesn’t actually configure the interface. It does
however write the <ConfigDir>/dhcpcd-<interface>.info and
<ConfigDir>/dhcpcd-<interface>.cache files and it does attempt
to execute the script defined by the -c <ExecFilePath> option.
-T option is used primarily for testing DHCP servers, for
obtaining multiple IP addresses for the same dummy interface,
and/or configuring virtual interfaces in conjunction with -L
<ConfigDir> and -I <ClientID> options.
Specifies (in seconds ) for how long dhcpcd will try to get an
IP address. The default is 60 seconds. dhcpcd will not fork
into background until it gets a valid IP address in which case
dhcpcd will return 0 to the parent process. In a case dhcpcd
times out before receiving a valid IP address from DHCP server
dhcpcd will return exit code 1 to the parent process. Setting
the timeout to zero disables it: dhcp will keep trying forever
to get a lease, and if the lease is lost, it will try forever to
dhcpcd will try to execute <ExecFilePath> script instead of
default /etc/dhcpc/dhcpcd.exe script every time it configures or
brings down the interface. See the description of dhcpcd.exe
script in FILES section below.
specifies a string used for the hostname option field when
dhcpcd sends DHCP messages. Some DHCP servers, notably those
used by @Home Networks, require the hostname option field
containing a specific string in the DHCP messages from clients.
When combined with the -F switch, specifies the string used for
the FQDN option field instead of the hostname option field.
Specifies the vendor class identifier string. dhcpcd uses the
default vendor class identifier string (system name, system
release, and machine type) if it is not specified.
Specifies the client identifier string. dhcpcd uses the default
client identifier (MAC address of the network interface) if it
is not specified.
Specifies (in seconds) the recommended lease time to the server.
(Note that the server can override this value if it sees fit).
This value is used in the DHCP_DISCOVER message. The default is
Sends DHCP_INFORM message to DHCP server using ipaddr. The
optional ipaddr parameter must be in the form xxx.xxx.xxx.xxx.
If no ipaddr parameter is given on the command line dhcpcd will
use the IP address currently assigned to the interface. If
there is no IP address currently assigned to the interface
dhcpcd will use previously obtained IP address stored in
Prevents dhcpcd from installing default routes provided by DHCP
server. If optional gateway ip address parameter is supplied
then use it for default route.
Specifies the window size for the gateway route. Default =
Specifies where dhcpcd should create resolv.conf, ntp.conf and
yp.conf. Default is the /etc directory.
Specifies the network interface name (eth0, eth1, etc.).
dhcpcd uses the network interface eth0 unless an explicit name is
Default <ConfigDir> directory used for storing files created by
dhcpcd. See option -L <ConfigDir> above.
file in which dhcpcd saves the host information. The word
<interface> is actually replaced with the network interface name
like eth0 to which dhcpcd is attached.
script file, which dhcpcd will try to execute whenever it
configures or brings down the interface. The path to this
executable script can be changed with -c <ExecFilePath> option.
Dhcpcd passes 3 parameters to dhcpcd.exe script:
dhcpcd.exe <HostInfoFilePath> <up|down|new> [-d]
The first parameter <HostInfoFilePath> is path to
dhcpcd-<interface>.info file. The word <interface> is actually
replaced with interface name dhcpcd is attached to, e.g. "eth0".
The second parameter values <up|down|new> mean the interface has
been brought up with the same IP address as before ("up"), or
with the new IP address ("new"), or the interface has been
brought down ("down"). Parameter -d is passed in a case dhcpcd
has been started with -d debug flag.
Cache file containing the previously assigned IP address and
some other things. The word <interface> is actually replaced
with the network interface name like eth0 to which dhcpcd is
file created by dhcpcd when the client receives DNS and domain
name options. The old <etcDir>/resolv.conf file is renamed to
<etcDir>/resolv.conf.sv and will be restored back when dhcpcd
exits for any reason.
file created by dhcpcd when the client receives NIS options.
The old <etcDir>/yp.conf file is renamed to <etcDir>/yp.conf.sv
and is restored back when dhcpcd exits for any reason.
file created by dhcpcd when the client receives NTP options.
The old <etcDir>/ntp.conf file is renamed to
<etcDir>/ntp.conf.sv and is restored back when dhcpcd exits for
file containing the process id of dhcpcd. The word <interface>
is actually replaced with the network interface name like eth0
to which dhcpcd is attached.
dig(1), nslookup(8), nsupdate(8)
Dynamic Host Configuration Protocol, RFC2131 and RFC1541 (obsolete)
DHCP Options and BOOTP Vendor Extensions, RFC2132
Draft DHC FQDN Option specification, draft-ietf-dhc-fqdn-option
dhcpcd uses time(3) to calculate the lease expiration time. If the
system time is changed while the client is running, the lease
expiration time may not be predictable.
Yoichi Hariguchi <email@example.com>
Sergei Viznyuk <firstname.lastname@example.org>
Roy Marples <email@example.com>
Simon Kelley <firstname.lastname@example.org>