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