xref: /dragonfly/sbin/dhclient/dhclient.8 (revision 60233e58)
1.\" $OpenBSD: dhclient.8,v 1.6 2007/05/31 19:19:43 jmc Exp $
2.\" $DragonFly: src/sbin/dhclient/dhclient.8,v 1.3 2008/09/03 08:02:34 matthias Exp $
3.\"
4.\" Copyright (c) 1997 The Internet Software Consortium.
5.\" All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\"
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 3. Neither the name of The Internet Software Consortium nor the names
17.\"    of its contributors may be used to endorse or promote products derived
18.\"    from this software without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
21.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
22.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24.\" DISCLAIMED.  IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
25.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
28.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
29.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
31.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32.\" SUCH DAMAGE.
33.\"
34.\" This software has been written for the Internet Software Consortium
35.\" by Ted Lemon <mellon@fugue.com> in cooperation with Vixie
36.\" Enterprises.  To learn more about the Internet Software Consortium,
37.\" see ``http://www.isc.org/isc''.  To learn more about Vixie
38.\" Enterprises, see ``http://www.vix.com''.
39.Dd September 3, 2008
40.Dt DHCLIENT 8
41.Os
42.Sh NAME
43.Nm dhclient
44.Nd Dynamic Host Configuration Protocol (DHCP) Client
45.Sh SYNOPSIS
46.Nm
47.Op Fl dqu
48.Op Fl c Ar file
49.Op Fl l Ar file
50.Ar interface
51.Sh DESCRIPTION
52The
53.Nm
54utility provides a means for configuring network interfaces using DHCP, BOOTP,
55or if these protocols fail, by statically assigning an address.
56.Pp
57The name of the network interface that
58.Nm
59should attempt to
60configure must be specified on the command line.
61.Pp
62The options are as follows:
63.Bl -tag -width "-p port"
64.It Fl c Ar file
65Specify an alternate location,
66.Ar file ,
67for the configuration file.
68.It Fl d
69Forces
70.Nm
71to always run as a foreground process.
72By default,
73.Nm
74runs in the foreground until it has configured the interface, and then
75will revert to running in the background.
76.It Fl l Ar file
77Specify an alternate location,
78.Ar file ,
79for the leases file.
80.It Fl q
81Forces
82.Nm
83to be less verbose on startup.
84.It Fl u
85Forces
86.Nm
87to reject leases with unknown options in them.
88The default behaviour is to accept such lease offers.
89.El
90.Pp
91The DHCP protocol allows a host to contact a central server which
92maintains a list of IP addresses which may be assigned on one or more
93subnets.
94A DHCP client may request an address from this pool, and
95then use it on a temporary basis for communication on the network.
96The DHCP protocol also provides a mechanism whereby a client can learn
97important details about the network to which it is attached, such as
98the location of a default router, the location of a name server, and
99so on.
100.Pp
101On startup,
102.Nm
103reads
104.Pa /etc/dhclient.conf
105for configuration instructions.
106It then gets a list of all the
107network interfaces that are configured in the current system.
108It then attempts to configure each interface with DHCP.
109.Pp
110In order to keep track of leases across system reboots and server
111restarts,
112.Nm
113keeps a list of leases it has been assigned in the
114.Pa /var/db/dhclient.leases.IFNAME
115file.
116.Qq IFNAME
117represents the network interface of the DHCP client
118.Pq e.g. em0 ,
119one for each interface.
120On startup, after reading the
121.Xr dhclient.conf 5
122file,
123.Nm
124reads the leases file to refresh its memory about what leases it has been
125assigned.
126.Pp
127Old leases are kept around in case the DHCP server is unavailable when
128.Nm
129is first invoked (generally during the initial system boot
130process).
131In that event, old leases from the
132.Pa dhclient.leases.IFNAME
133file which have not yet expired are tested, and if they are determined to
134be valid, they are used until either they expire or the DHCP server
135becomes available.
136.Pp
137A mobile host which may sometimes need to access a network on which no
138DHCP server exists may be preloaded with a lease for a fixed
139address on that network.
140When all attempts to contact a DHCP server have failed,
141.Nm
142will try to validate the static lease, and if it
143succeeds, it will use that lease until it is restarted.
144.Pp
145A mobile host may also travel to some networks on which DHCP is not
146available but BOOTP is.
147In that case, it may be advantageous to
148arrange with the network administrator for an entry on the BOOTP
149database, so that the host can boot quickly on that network rather
150than cycling through the list of old leases.
151.Sh NOTES
152You must have the Berkeley Packet Filter (BPF) configured in your kernel.
153.Nm
154requires at least one
155.Pa /dev/bpf*
156file for each broadcast network interface that is attached to your system.
157See
158.Xr bpf 4
159for more information.
160.Sh FILES
161.Bl -tag -width /var/db/dhclient.leases.IFNAME~ -compact
162.It Pa /etc/dhclient.conf
163DHCP client configuration file
164.It Pa /var/db/dhclient.leases.IFNAME
165database of acquired leases
166.El
167.Sh SEE ALSO
168.Xr bpf 4 ,
169.Xr dhclient.conf 5 ,
170.Xr dhclient.leases 5 ,
171.Xr dhclient-script 8 ,
172.Xr dhcp 8 ,
173.Xr dhcpd 8 Pq Pa pkgsrc/net/isc-dhcpd4 ,
174.Xr dhcrelay 8 Pq Pa pkgsrc/net/isc-dhcrelay4
175.Sh AUTHORS
176.An -nosplit
177.Nm
178was written by
179.An Ted Lemon Aq mellon@fugue.com
180and
181.An Elliot Poger Aq elliot@poger.com .
182.Pp
183The current implementation was reworked by
184.An Henning Brauer Aq henning@openbsd.org
185and was imported into
186.Dx 2.1 .
187