Provided by: isc-dhcp-client_4.2.4-7ubuntu12_amd64 bug

NAME

       dhclient - Dynamic Host Configuration Protocol Client

SYNOPSIS

       dhclient  [  -4  |  -6 ] [ -S ] [ -N [ -N...  ] ] [ -T [ -T...  ] ] [ -P [ -P...  ] ] [ -D
       LL|LLT ] [ -p port ] [ -d ] [ -e VAR=value ] [ -q ] [ -1 ] [ -r | -x ] [ -lf lease-file  ]
       [ -pf pid-file ] [ --no-pid ] [ -cf config-file ] [ -sf script-file ] [ -s server-addr ] [
       -g relay ] [ -n ] [ -nw ] [ -w ] [ -v ] [ --version ] [ if0 [ ...ifN ] ]

DESCRIPTION

       The Internet Systems 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.

       There  are two versions of the DHCP protocol DHCPv4 and DHCPv6.  At startup the client may
       be started for one or the other via the -4 or -6 options.

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

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  normally  identify  all  network  interfaces,  eliminating  non-broadcast
       interfaces if possible, and attempt to configure each interface.

       It is also possible to  specify  interfaces  by  name  in  the  dhclient.conf  file.    If
       interfaces  are specified in this way, then the client will only configure interfaces that
       are either specified in the configuration file or on the command line, and will ignore all
       other interfaces.

       The  client normally prints no output during its startup sequence.  It can be made to emit
       verbose messages displaying the startup sequence events until it has acquired  an  address
       by supplying the -v command line argument.  In either case, the client logs messages using
       the syslog(3) facility.

OPTIONS

       -4     Use the DHCPv4 protocol to obtain an IPv4  address  and  configuration  parameters.
              This is the default and cannot be combined with -6.

       -6     Use  the DHCPv6 protocol to obtain whatever IPv6 addresses are available along with
              configuration parameters.  It cannot be combined with -4.  The -S -T -P -N  and  -D
              arguments  provide more control over aspects of the DHCPv6 processing.  Note: it is
              not recommended to mix queries of different types together or  even  to  share  the
              lease file between them.

       -1     Try  to  get  a  lease once.  On failure exit with code 2.  In DHCPv6 this sets the
              maximum duration of the initial exchange to timeout (from dhclient.conf(5)  with  a
              default of sixty seconds).

       -d     Force  dhclient  to run as a foreground process.  Normally the DHCP client will run
              in the foreground until is has configured an interface at which time it will revert
              to  running in the background.  This option is useful when running the client under
              a debugger, or when running it out of inittab on System V  systems.   This  implies
              -v.

       -nw    Become a daemon immediately (nowait) rather than waiting until an an IP address has
              been acquired.

       -q     Be quiet at startup, this is the default.

       -v     Enable verbose log messages.

       -w     Continue running even if no broadcast interfaces were found.  Normally DHCP  client
              will  exit  if  it  isn't able to identify any network interfaces to configure.  On
              laptop computers and other computers with hot-swappable I/O buses, it  is  possible
              that  a  broadcast  interface  may be added after system startup.  This flag can be
              used to cause the client not to exit when it  doesn't  find  any  such  interfaces.
              The  omshell(1)  program  can  then  be  used  to  notify the client when a network
              interface has been added or removed, so that the client can attempt to configure an
              IP address on that interface.

       -n     Do  not  configure any interfaces.  This is most likely to be useful in combination
              with the -w flag.

       -e VAR=val
              Define  additional  environment  variables  for  the  environment  where  dhclient-
              script(8) executes.  You may specify multiple -e options on the command line.

       -r     Release  the  current lease and stop the running DHCP client as previously recorded
              in the PID file.  When shutdown via this method dhclient-script(8) will be executed
              with  the  specific reason for calling the script set.  The client normally doesn't
              release the current lease as this is not required by the  DHCP  protocol  but  some
              cable  ISPs  require  their clients to notify the server if they wish to release an
              assigned IP address.

       -x     Stop the running DHCP client without releasing the current lease.   Kills  existing
              dhclient  process  as  previously recorded in the PID file.  When shutdown via this
              method dhclient-script(8) will be executed with the specific reason for calling the
              script set.

       -p port
              The  UDP  port  number  on  which  the  DHCP client should listen and transmit.  If
              unspecified, dhclient uses the default port of  68.   This  is  mostly  useful  for
              debugging  purposes.   If  a different port is specified on which the client should
              listen and transmit, the client will also use a different destination  port  -  one
              less than the specified port.

       -s server-addr
              Specify  the  server  IP  address  or  fully  qualified  domain  name  to  use as a
              destination for DHCP protocol messages before dhclient has acquired an IP  address.
              Normally,  dhclient  transmits  these  messages  to 255.255.255.255 (the IP limited
              broadcast address).  Overriding this is mostly useful for debugging purposes.  This
              feature is not supported in DHCPv6 (-6) mode.

       -g relay
              Set  the  giaddr  field  of  all packets to the relay IP address simulating a relay
              agent.  This is for testing pruposes only and should not be expected to work in any
              consistent or useful way.

       --version
              Print version number and exit.

       Options available for DHCPv6 mode:

       -S     Use  Information-request  to  get  only  stateless  configuration parameters (i.e.,
              without address).  This implies -6.  It also doesn't rewrite the lease database.

       -T     Ask for IPv6 temporary addresses, one set per -T flag.  This implies  -6  and  also
              disables the normal address query.  See -N to restore it.

       -P     Enable  IPv6  prefix  delegation.   This  implies  -6  and also disables the normal
              address query.  See -N to  restore  it.   Note  only  one  requested  interface  is
              allowed.

       -D LL or LLT
              Override  the  default  when selecting the type of DUID to use.  By default, DHCPv6
              dhclient creates an identifier based on the link-layer address (DUID-LL) if  it  is
              running  in  stateless  mode (with -S, not requesting an address), or it creates an
              identifier based on the link-layer address plus a timestamp  (DUID-LLT)  if  it  is
              running  in  stateful  mode (without -S, requesting an address).  -D overrides this
              default, with a value of either LL or LLT.

       -N     Restore normal address query for IPv6. This implies -6.   It  is  used  to  restore
              normal operation after using -T or -P.

       Modifying  default  file  locations:  The  following  options  can  be  used to modify the
       locations a client uses for it's files.  They can be particularly useful if, for  example,
       DBDIR or RUNDIR have not been mounted when the DHCP client is started.

       -cf config-file
              Path   to   the   client   configuration   file.    If   unspecified,  the  default
              ETCDIR/dhclient.conf is used.  See dhclient.conf(5) for a description of this file.

       -lf lease-file
              Path to the lease database file.  If unspecified, the default DBDIR/dhclient.leases
              is used.  See dhclient.leases(5) for a descriptionof this file.

       -pf pid-file
              Path  to  the  process ID file.  If unspecified, the default RUNDIR/dhclient.pid is
              used.

       --no-pid
              Option to disable writing pid files.  By default the program will write a pid file.
              If the program is invoked with this option it will not attempt to kill any existing
              client processes even if invoked with -r or -x.

       -sf script-file
              Path to the network configuration script invoked by dhclient when it gets a  lease.
              If  unspecified,  the  default CLIENTBINDIR/dhclient-script is used.  See dhclient-
              script(8) for a description of this file.

CONFIGURATION

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

OMAPI

       The DHCP client provides some ability to control it while it is running, without  stopping
       it.   This  capability  is  provided  using OMAPI, an API for manipulating remote objects.
       OMAPI clients connect to the client using TCP/IP, authenticate, and can then  examine  the
       client's current status and make changes to it.

       Rather  than implementing the underlying OMAPI protocol directly, user programs should use
       the dhcpctl API or OMAPI  itself.    Dhcpctl  is  a  wrapper  that  handles  some  of  the
       housekeeping  chores  that  OMAPI  does  not  do  automatically.    Dhcpctl  and OMAPI are
       documented in dhcpctl(3) and omapi(3).   Most things you'd want to do with the client  can
       be  done  directly  using  the  omshell(1)  command, rather than having to write a special
       program.

THE CONTROL OBJECT

       The control object allows you to shut the client down, releasing all leases that it  holds
       and  deleting any DNS records it may have added.  It also allows you to pause the client -
       this unconfigures any interfaces the client is using.   You can  then  restart  it,  which
       causes  it to reconfigure those interfaces.   You would normally pause the client prior to
       going into hibernation or sleep on a laptop computer.   You would then resume it after the
       power  comes back.  This allows PC cards to be shut down while the computer is hibernating
       or sleeping, and then reinitialized to their previous state once the computer comes out of
       hibernation or sleep.

       The control object has one attribute - the state attribute.   To shut the client down, set
       its state attribute to 2.   It will automatically do a DHCPRELEASE.   To pause it, set its
       state attribute to 3.   To resume it, set its state attribute to 4.

ENVIRONMENT VARIABLES

       The  following  environment  variables may be defined to override the builtin defaults for
       file locations.  Note that use  of  the  related  command-line  options  will  ignore  the
       corresponding environment variable settings.

       PATH_DHCLIENT_CONF
              The dhclient.conf configuration file.

       PATH_DHCLIENT_DB
              The dhclient.leases database.

       PATH_DHCLIENT_PID
              The dhclient PID file.

       PATH_DHCLIENT_SCRIPT
              The dhclient-script file.

FILES

       CLIENTBINDIR/dhclient-script,         ETCDIR/dhclient.conf,         DBDIR/dhclient.leases,
       RUNDIR/dhclient.pid, DBDIR/dhclient.leases~.

SEE ALSO

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

AUTHOR

       dhclient(8)  has  been written for Internet Systems Consortium by Ted Lemon in cooperation
       with  Vixie  Enterprises.   To  learn  more  about  Internet   Systems   Consortium,   see
       https://www.isc.org 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  enhancements,  but  was  substantially
       reorganized  and  partially  rewritten  by  Ted  Lemon  so  as  to use the same networking
       framework that the Internet Systems 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.

                                                                                      dhclient(8)