Provided by: dhcp-client_2.0pl5-19.4_i386 bug


       dhclient - Dynamic Host Configuration Protocol Client


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


       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.


       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   startup,   dhclient  reads  the  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.

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

       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.


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

       The -e flag will cause dhclient to exit with an error if the  interface
       cannot  be  configured  after  a certain amount of time. This is useful
       when dhclient is used in scripts or other systems when  a  failed  dhcp
       attempt needs to be reported.


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


       /etc/dhclient.conf,                      /var/lib/dhcp/dhclient.leases,
       /var/run/, /var/lib/dhcp/dhclient.leases~.


       dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5),  dhclient-


       dhclient(8)  has  been  written for the Internet Software Consortium by
       Ted Lemon <> in cooperation with Vixie Enterprises.  To
       learn    more    about    the   Internet   Software   Consortium,   see  To learn more  about  Vixie  Enterprises,  see

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

       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.