dhcpcd
Section: Linux System Manager's Manual (8)
Updated: Jan.1, 2003
NAME
dhcpcd - DHCP client daemon
SYNOPSIS
dhcpcd
[-dknrBCDHNRSTY]
[-t <timeout>]
[-c <ExecFilePath>]
[-h <hostname>]
[-i <vendorClassID>]
[-I <ClientID>]
[-l <leasetime>]
[-s [ipaddr]]
[-G [gateway]]
[-w <windowsize>]
[-L <ConfigDir>]
[interface]
DESCRIPTION
dhcpcd
is an implementation of the DHCP client specified in
RFC2131
(when -r option is not specified) and
RFC1541
(when -r option is specified).
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).
OPTIONS
- -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:
local0.* /var/log/dhcpcd.log
and then refresh syslogd daemon:
kill -1 `cat /var/run/syslogd.pid`
- -k
-
Sends
SIGHUP
signal to the
dhcpcd
process that 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.
- -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.
- -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. By default
dhcpcd
will NOT set domainname of the host to the domainname option
received from DHCP server.
- -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 server.
- -L <ConfigDir>
-
dhcpcd will use <ConfigDir> directory instead of default
/etc/dhcpc to store configuration information.
- -R
-
Prevents
dhcpcd
from replacing existing
/etc/resolv.conf
file.
- -Y
-
Prevents
dhcpcd
from replacing existing
/etc/yp.conf
file. Domainname is not updated unless -D is specified.
- -N
-
Prevents
dhcpcd
from replacing existing
/etc/ntp.conf file.
- -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 on DHCP_REQUEST.
- -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 <ConfigDir>/dhcpcd.exe script.
The pathname of dhcpcd.exe executable script can be
changed with -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.
- -t <timeout>
-
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.
- -c <ExecFilePath>
-
dhcpcd will try to execute <ExecFilePath>
script instead of default <ConfigDir>/dhcpcd.exe
script every time it configures or brings down the interface.
See the description of dhcpcd.exe script in
FILES section below.
- -h <hostname>
-
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.
- -i <vendorClassID>
-
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.
- -I <ClientID>
-
Specifies the client identifier string.
dhcpcd
uses the default client identifier (MAC address of the network
interface) if it is not specified.
- -l <leasetime>
-
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 infinite (0xffffffff).
- -G [gateway]
-
Prevents dhcpcd from installing default routes provided by DHCP server.
If optional gateway ip
address parameter is supplied then use it for
default route.
- -s [ipaddr]
-
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
<ConfigDir>/dhcpcd-<interface>.cache
file.
- -w <windowsize>
-
Specifies window size for the gateway route. Default=32768.
- interface
-
Specifies the network interface name (eth0, eth1, etc.).
dhcpcd
uses the network interface
eth0
unless an explicit name is specified.
FILES
- /etc/dhcpc
-
Default <ConfigDir> directory used for storing files
created by dhcpcd. See option -L <ConfigDir> above.
- <ConfigDir>/dhcpcd-<interface>.info
-
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.
- <ConfigDir>/dhcpcd.exe
- 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.
- <ConfigDir>/dhcpcd-<interface>.cache
-
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 attached.
- /etc/resolv.conf
- file created by dhcpcd
when the client receives DNS and domain name options.
The old /etc/resolv.conf
file is renamed to /etc/resolv.conf.sv
and is restored back when dhcpcd exits for any reason.
- /etc/yp.conf
- file created by dhcpcd
when the client receives NIS options.
The old /etc/yp.conf
file is renamed to /etc/yp.conf.sv
and is restored back when dhcpcd exits for any reason.
- /etc/ntp.conf
- file created by dhcpcd
when the client receives NTP options.
The old /etc/ntp.conf
file is renamed to /etc/ntp.conf.sv
and is restored back when dhcpcd exits for any reason.
- <ConfigDir>/dhcpcd-<interface>.pid
-
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.
SEE ALSO
Dynamic Host Configuration Protocol,
RFC2131 and RFC1541 (obsolete)
DHCP Options and BOOTP Vendor Extensions, RFC2132
BUGS
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.
AUTHORS
v.<1.3
Yoichi Hariguchi <yoichi@fore.com>
v.1.3
Sergei Viznyuk <sv@phystech.com>
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- FILES
-
- SEE ALSO
-
- BUGS
-
- AUTHORS
-
©1998 PhysTech, Inc. All rights reserved. Last change: Jan.1, 2003