dhclient(8)					      dhclient(8)


NAME
       dhclient - Dynamic Host Configuration Protocol Client

SYNOPSIS
       dhclient [ -p port ] [ -d ] [ if0 [ ...ifN ] ]

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.

OPERATION
       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.

       On  startup, dhclient reads the dhclient.conf for configu-
       ration instructions.   It then gets a list of all the net-
       work interfaces that are configured in the current system.
       For each interface, it attempts to configure the interface
       using the DHCP protocol.

       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.

       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
       dhcpd.leases~ until the next time  dhclient  rewrites  the
       database.

       Old  leases  are	 kept  around  in case the DHCP server is
       unavailable when dhclient is first invoked (generally dur-
       ing 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.

       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.

       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.

COMMAND LINE
       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, elimininat-
       ing  non-broadcast  interfaces if possible, and attempt to
       configure each interface.

       If dhclient should listen and transmit  on  a  port  other
       than  the  standard  (port  68), the -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 -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 -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 -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.

       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  -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.


CONFIGURATION
       The  syntax  of	the  dhclient.conf(8)  file  is discussed
       seperately.

FILES
       /etc/dhclient.conf,  /var/state/dhcp	/dhclient.leases,
       /var/run/dhclient.pid,
       /var/state/dhcp	   /dhclient.leases~.

SEE ALSO
       dhcpd(8),	  dhcrelay(8),		dhclient.conf(5),
       dhclient.leases(5)

AUTHOR
       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 http://www.vix.com/isc.	 To learn
       more about Vixie Enterprises, see http://www.vix.com.

       This  client  was  substantially	 modified and enhanced by
       Elliot Poger for use on Linux while he was working on  the
       MosquitoNet project at Stanford.

       The  current  version owes much to Elliot's Linux enhance-
       ments, 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.


								3


