Provided by: isc-dhcp-client_4.2.4-7ubuntu12.13_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)