293 lines
8.3 KiB
Groff
293 lines
8.3 KiB
Groff
.\" $OpenBSD: dhclient.8,v 1.50 2022/05/16 17:15:16 abieber Exp $
|
|
.\"
|
|
.\" Copyright (c) 1997 The Internet Software Consortium.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\"
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of The Internet Software Consortium nor the names
|
|
.\" of its contributors may be used to endorse or promote products derived
|
|
.\" from this software without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
|
|
.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
.\" DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
|
|
.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" This software has been written for the Internet Software Consortium
|
|
.\" by Ted Lemon <mellon@fugue.com> in cooperation with Vixie
|
|
.\" Enterprises. To learn more about the Internet Software Consortium,
|
|
.\" see ``http://www.isc.org/isc''. To learn more about Vixie
|
|
.\" Enterprises, see ``http://www.vix.com''.
|
|
.Dd $Mdocdate: May 16 2022 $
|
|
.Dt DHCLIENT 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm dhclient
|
|
.Nd Dynamic Host Configuration Protocol (DHCP) client
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl dnrv
|
|
.Op Fl c Ar file
|
|
.Op Fl i Ar options
|
|
.Ar interface
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
uses the Dynamic Host Configuration Protocol (DHCP), or its
|
|
predecessor BOOTP, to configure a network interface.
|
|
Information typically provided via DHCP includes
|
|
IPv4 address and subnet mask, default route,
|
|
and domain name server.
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width Ds
|
|
.It Fl c Ar file
|
|
Specify an alternate location to
|
|
.Pa /etc/dhclient.conf
|
|
for the configuration file.
|
|
If
|
|
.Ar file
|
|
is the empty string then no configuration file is read.
|
|
.It Fl d
|
|
Do not daemonize.
|
|
If this option is specified,
|
|
.Nm
|
|
will run in the foreground and log to
|
|
.Em stderr .
|
|
.It Fl i Ar options
|
|
.Nm
|
|
will ignore values provided by leases for the options specified.
|
|
This list will supplement ignore statements in
|
|
.Xr dhclient.conf 5 .
|
|
.Ar options
|
|
must be a comma separated list of valid option names.
|
|
.It Fl n
|
|
Configtest mode.
|
|
Only check the configuration file for validity.
|
|
.It Fl r
|
|
Release the current lease back to the server it came from.
|
|
.Nm
|
|
exits after removing the active lease from
|
|
.Pa /var/db/dhclient.leases . Ns Aq Ar IFNAME ,
|
|
deleting the address the lease caused to be added to the interface,
|
|
and sending a DHCPRELEASE packet to the server that supplied the lease.
|
|
.Pp
|
|
If there is no
|
|
.Nm
|
|
controlling the specified interface, or
|
|
.Nm
|
|
has no active lease configured, no action is performed.
|
|
.It Fl v
|
|
Causes
|
|
.Nm
|
|
to show more information about interactions with the DHCP server and what
|
|
network configuration changes are attempted after accepting a lease.
|
|
.Fl v
|
|
is implied if either
|
|
.Fl d
|
|
or
|
|
.Fl n
|
|
is present.
|
|
.El
|
|
.Pp
|
|
The DHCP protocol allows a host to contact a central server which
|
|
maintains a list of IP addresses which may be assigned on one or more
|
|
subnets.
|
|
A DHCP client may request an address from this pool, and
|
|
then use it on a temporary basis for communication on the network.
|
|
The DHCP protocol also provides a mechanism whereby a client can learn
|
|
important details about the network to which it is attached, such as
|
|
the location of a default router, the location of a name server, and
|
|
so on.
|
|
.Pp
|
|
On startup,
|
|
.Nm
|
|
reads
|
|
.Pa /etc/dhclient.conf
|
|
for configuration instructions.
|
|
It then attempts to configure the network interface
|
|
.Ar interface
|
|
with DHCP.
|
|
The special value
|
|
.Dq egress
|
|
may be used instead of a network interface name.
|
|
In this case
|
|
.Nm
|
|
will look for the network interface currently in the interface group
|
|
.Dq egress
|
|
and configure it with DHCP.
|
|
If there is more than one network interface in the egress group,
|
|
.Nm
|
|
will exit with an error.
|
|
.Pp
|
|
When configuring the interface,
|
|
.Nm
|
|
attempts to remove any existing addresses, gateway routes that use
|
|
the interface, and non-permanent
|
|
.Xr arp 8
|
|
entries.
|
|
.Nm
|
|
automatically exits whenever a new
|
|
.Nm
|
|
is run on the same interface.
|
|
.Pp
|
|
Once the interface is configured,
|
|
.Nm
|
|
constructs a
|
|
.Xr resolv.conf 5
|
|
file.
|
|
It does this only if any of the options
|
|
.Cm domain-name ,
|
|
.Cm domain-name-servers ,
|
|
or
|
|
.Cm domain-search
|
|
are present
|
|
(note that these options may be offered by the DHCP server but suppressed by
|
|
.Xr dhclient.conf 5 ) .
|
|
If a resolv.conf is constructed,
|
|
.Nm
|
|
appends any contents of the
|
|
.Pa /etc/resolv.conf.tail
|
|
file, which are read once at start up.
|
|
The constructed resolv.conf is copied into
|
|
.Pa /etc/resolv.conf
|
|
whenever the default route goes out the interface
|
|
.Nm
|
|
is running on.
|
|
.Nm
|
|
monitors the system for changes to the default route and re-checks
|
|
whether it should write its resolv.conf when possible changes are
|
|
detected.
|
|
.Pp
|
|
In order to keep track of leases across system reboots and server
|
|
restarts,
|
|
.Nm
|
|
keeps a list of leases it has been assigned in the
|
|
.Pa /var/db/dhclient.leases . Ns Aq Ar IFNAME
|
|
file.
|
|
.Ar IFNAME
|
|
represents the network interface of the DHCP client
|
|
.Pq e.g. em0 ,
|
|
one for each interface.
|
|
On startup, after reading the
|
|
.Xr dhclient.conf 5
|
|
file,
|
|
.Nm
|
|
reads the leases file to refresh its memory about what leases it has been
|
|
assigned.
|
|
.Pp
|
|
Old leases are kept around in case the DHCP server is unavailable when
|
|
.Nm
|
|
is first invoked (generally during the initial system boot
|
|
process).
|
|
In that event, old leases from the
|
|
.Pa dhclient.leases . Ns Aq Ar IFNAME
|
|
file which have not yet expired are tested, and if they are determined to
|
|
be valid, they are used until either they expire or the DHCP server
|
|
becomes available.
|
|
.Pp
|
|
A mobile host which may sometimes need to access a network on which no
|
|
DHCP server exists may be preloaded with a lease for a fixed
|
|
address on that network.
|
|
When all attempts to contact a DHCP server have failed,
|
|
.Nm
|
|
will try to validate the static lease, and if it
|
|
succeeds, it will use that lease until it is restarted.
|
|
.Pp
|
|
A mobile host may also travel to some networks on which DHCP is not
|
|
available but BOOTP is.
|
|
In that case, it may be advantageous to
|
|
arrange with the network administrator for an entry on the BOOTP
|
|
database, so that the host can boot quickly on that network rather
|
|
than cycling through the list of old leases.
|
|
.Sh FILES
|
|
.Bl -tag -width "/var/db/dhclient.leases.<IFNAME>XXX" -compact
|
|
.It Pa /etc/dhclient.conf
|
|
DHCP client configuration file
|
|
.It Pa /etc/hostname.XXX
|
|
interface-specific configuration files
|
|
.It Pa /var/db/dhclient.leases . Ns Aq Ar IFNAME
|
|
database of acquired leases
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr dhclient.conf 5 ,
|
|
.Xr dhclient.leases 5 ,
|
|
.Xr hostname.if 5 ,
|
|
.Xr dhcpd 8 ,
|
|
.Xr dhcrelay 8 ,
|
|
.Xr ifconfig 8
|
|
.Sh STANDARDS
|
|
.Rs
|
|
.%A R. Droms
|
|
.%D October 1993
|
|
.%R RFC 1534
|
|
.%T Interoperation Between DHCP and BOOTP
|
|
.Re
|
|
.Pp
|
|
.Rs
|
|
.%A R. Droms
|
|
.%D March 1997
|
|
.%R RFC 2131
|
|
.%T Dynamic Host Configuration Protocol
|
|
.Re
|
|
.Pp
|
|
.Rs
|
|
.%A S. Alexander
|
|
.%A R. Droms
|
|
.%D March 1997
|
|
.%R RFC 2132
|
|
.%T DHCP Options and BOOTP Vendor Extensions
|
|
.Re
|
|
.Pp
|
|
.Rs
|
|
.%A T. Lemon
|
|
.%A S. Cheshire
|
|
.%D November 2002
|
|
.%R RFC 3396
|
|
.%T Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)
|
|
.Re
|
|
.Pp
|
|
.Rs
|
|
.%A T. Lemon
|
|
.%A S. Cheshire
|
|
.%A B. Volz
|
|
.%D December 2002
|
|
.%R RFC 3442
|
|
.%T The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4
|
|
.Re
|
|
.Pp
|
|
.Rs
|
|
.%A N. Swamy
|
|
.%A G. Halwasia
|
|
.%A P. Jhingram
|
|
.%D January 2013
|
|
.%R RFC 6842
|
|
.%T Client Identifier Option in DHCP Server Replies
|
|
.Re
|
|
.Sh AUTHORS
|
|
.An -nosplit
|
|
.Nm
|
|
was written by
|
|
.An Ted Lemon Aq Mt mellon@fugue.com
|
|
and
|
|
.An Elliot Poger Aq Mt elliot@poger.com .
|
|
.Pp
|
|
The current implementation was reworked by
|
|
.An Henning Brauer Aq Mt henning@openbsd.org .
|