Logo

Charles Steinkuehler's LEAF/LRP Website


 

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

       ETCDIR/dhclient.conf,               DBDIR/dhclient.leases,
       RUNDIR/dhclient.pid, DBDIR/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.


Man(1) output converted with man2html