182 lines
7.6 KiB
Groff
182 lines
7.6 KiB
Groff
.\" dhclient.8
|
|
.\"
|
|
.\" 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''.
|
|
.TH dhclient 8
|
|
.SH NAME
|
|
dhclient - Dynamic Host Configuration Protocol (DHCP) Client
|
|
.SH SYNOPSIS
|
|
.B dhclient
|
|
[
|
|
.B -p
|
|
.I port
|
|
]
|
|
[
|
|
.B -d
|
|
]
|
|
[
|
|
.I if0
|
|
[
|
|
.I ...ifN
|
|
]
|
|
]
|
|
.SH DESCRIPTION
|
|
The Internet Software Consortium DHCP Client, dhclient, provides a
|
|
means for configuring one or more network interfaces using the Dynamic
|
|
Host Configuration Protocol, BOOTP protocol, or if these protocols
|
|
fail, by statically assigning an address.
|
|
.SH SYSTEM REQUIREMENTS
|
|
You must have the Berkeley
|
|
Packet Filter (bpf) configured in your NetBSD kernel. You must have
|
|
at least one /dev/bpf* file for each broadcast network interface that
|
|
is attached to your system.
|
|
.SH OPERATION
|
|
.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 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, dhclient reads the
|
|
.IR dhclient.conf
|
|
for configuration instructions. It then gets a list of all the
|
|
network interfaces that are configured in the current system. For
|
|
each interface, it attempts to configure the interface using the DHCP
|
|
protocol.
|
|
.PP
|
|
In order to keep track of leases across system reboots and server
|
|
restarts, dhclient keeps a list of leases it has been assigned in the
|
|
dhclient.leases(5) file. On startup, after reading the dhclient.conf
|
|
file, dhclient reads the dhclient.leases file to refresh its memory
|
|
about what leases it has been assigned.
|
|
.PP
|
|
When a new lease is acquired, it is appended to the end of the
|
|
dhclient.leases file. In order to prevent the file from becoming
|
|
arbitrarily large, from time to time dhclient creates a new
|
|
dhclient.leases file from its in-core lease database. The old version
|
|
of the dhclient.leases file is retained under the name
|
|
.IR dhcpd.leases~
|
|
until the next time dhclient rewrites the database.
|
|
.PP
|
|
Old leases are kept around in case the DHCP server is unavailable when
|
|
dhclient is first invoked (generally during the initial system boot
|
|
process). In that event, old leases from the dhclient.leases 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, dhclient will try to validate the static lease, and if it
|
|
succeeds, 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 COMMAND LINE
|
|
.PP
|
|
The names of the network interfaces that dhclient should attempt to
|
|
configure may be specified on the command line. If no interface names
|
|
are specified on the command line dhclient will identify all network
|
|
interfaces, elimininating non-broadcast interfaces if possible, and
|
|
attempt to configure each interface.
|
|
.PP
|
|
If dhclient should listen and transmit on a port other than the
|
|
standard (port 68), the
|
|
.B -p
|
|
flag may used. It should be followed by the udp port number that
|
|
dhclient should use. This is mostly useful for debugging purposes.
|
|
If the
|
|
.B -p
|
|
flag is specified, the client will transmit responses to servers at a
|
|
port number that is one less than the one specified - i.e., if you
|
|
specify
|
|
.B -p
|
|
68, then the client will listen on port 68 and transmit to port 67.
|
|
Datagrams that must go through relay agents are sent to the port
|
|
number specified with the
|
|
.B -p
|
|
flag - if you wish to use alternate port numbers, you must configure
|
|
any relay agents you are using to use the same alternate port numbers.
|
|
.PP
|
|
Dhclient will normally run in the foreground until it has configured
|
|
an interface, and then will revert to running in the background.
|
|
To run force dhclient to always run as a foreground process, the
|
|
.B -d
|
|
flag should be specified. This is useful when running dhclient under
|
|
a debugger, or when running it out of inittab on System V systems.
|
|
.PP
|
|
.SH CONFIGURATION
|
|
The syntax of the dhclient.conf(8) file is discussed seperately.
|
|
.SH FILES
|
|
.B /etc/dhclient.conf, /var/db/dhclient.leases, /var/run/dhclient.pid,
|
|
.B /var/db/dhclient.leases~.
|
|
.SH SEE ALSO
|
|
dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5),
|
|
dhclient-script(8)
|
|
.SH AUTHOR
|
|
.B dhclient(8)
|
|
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
|
|
.B http://www.vix.com/isc.
|
|
To learn more about Vixie
|
|
Enterprises, see
|
|
.B http://www.vix.com.
|
|
.PP
|
|
This client was substantially modified and enhanced by Elliot Poger
|
|
for use on Linux while he was working on the MosquitoNet project at
|
|
Stanford.
|
|
.PP
|
|
The current version owes much to Elliot's Linux enhancements, but
|
|
was substantially reorganized and partially rewritten by Ted Lemon
|
|
so as to use the same networking framework that the Internet Software
|
|
Consortium DHCP server uses. Much system-specific configuration code
|
|
was moved into a shell script so that as support for more operating
|
|
systems is added, it will not be necessary to port and maintain
|
|
system-specific configuration code to these operating systems - instead,
|
|
the shell script can invoke the native tools to accomplish the same
|
|
purpose.
|
|
.PP
|