


dhclient.conf(5)                                 dhclient.conf(5)


NNAAMMEE
       dhclient.conf - DHCP client configuration file

DDEESSCCRRIIPPTTIIOONN
       The  dhclient.conf file contains configuration information
       for _d_h_c_l_i_e_n_t_, the Internet Systems Consortium DHCP Client.

       The  dhclient.conf  file  is  a free-form ASCII text file.
       It is parsed by the recursive-descent  parser  built  into
       dhclient.    The  file may contain extra tabs and newlines
       for formatting purposes.  Keywords in the file  are  case-
       insensitive.    Comments may be placed anywhere within the
       file (except within quotes).   Comments begin with  the  #
       character and end at the end of the line.

       The  dhclient.conf  file  can  be  used  to  configure the
       behaviour of the client in a wide variety of ways:  proto-
       col  timing, information requested from the server, infor-
       mation required of the server,  defaults  to  use  if  the
       server  does  not provide certain information, values with
       which to override information provided by the  server,  or
       values to prepend or append to information provided by the
       server.  The configuration file can also be preinitialized
       with  addresses  to  use  on networks that don't have DHCP
       servers.

PPRROOTTOOCCOOLL TTIIMMIINNGG
       The timing behaviour of the client need not be  configured
       by  the  user.   If no timing configuration is provided by
       the user, a fairly reasonable  timing  behaviour  will  be
       used  by  default  -  one  which  results in fairly timely
       updates without placing an inordinate load on the  server.

       The  following statements can be used to adjust the timing
       behaviour of the DHCP client if required, however:

       _T_h_e ttiimmeeoouutt _s_t_a_t_e_m_e_n_t

       ttiimmeeoouutt _t_i_m_e ;;

       The _t_i_m_e_o_u_t statement determines the amount of  time  that
       must  pass  between the time that the client begins to try
       to determine its address and the time that it decides that
       it's  not  going  to  be  able  to  contact a server.   By
       default, this timeout is sixty seconds.   After the  time-
       out  has passed, if there are any static leases defined in
       the configuration file, or any  leases  remaining  in  the
       lease  database that have not yet expired, the client will
       loop through these leases attempting to validate them, and
       if it finds one that appears to be valid, it will use that
       lease's address.   If there are no valid static leases  or
       unexpired  leases  in  the lease database, the client will
       restart the protocol after the defined retry interval.




                                                                1





dhclient.conf(5)                                 dhclient.conf(5)


       _T_h_e rreettrryy _s_t_a_t_e_m_e_n_t

        rreettrryy _t_i_m_e;;

       The _r_e_t_r_y statement determines the  time  that  must  pass
       after  the  client  has  determined  that there is no DHCP
       server present before it tries again  to  contact  a  DHCP
       server.   By default, this is five minutes.

       _T_h_e sseelleecctt--ttiimmeeoouutt _s_t_a_t_e_m_e_n_t

        sseelleecctt--ttiimmeeoouutt _t_i_m_e;;

       It  is possible (some might say desirable) for there to be
       more than one DHCP server serving any given network.    In
       this  case,  it is possible that a client may be sent more
       than one offer in response to its initial lease  discovery
       message.    It  may be that one of these offers is prefer-
       able to the other (e.g., one offer may  have  the  address
       the client previously used, and the other may not).

       The  _s_e_l_e_c_t_-_t_i_m_e_o_u_t is the time after the client sends its
       first lease discovery request at which  it  stops  waiting
       for  offers from servers, assuming that it has received at
       least one such offer.   If no offers have been received by
       the  time  the _s_e_l_e_c_t_-_t_i_m_e_o_u_t has expired, the client will
       accept the first offer that arrives.

       By default, the select-timeout is zero seconds - that  is,
       the client will take the first offer it sees.

       _T_h_e rreebboooott _s_t_a_t_e_m_e_n_t

        rreebboooott _t_i_m_e;;

       When  the client is restarted, it first tries to reacquire
       the last address it had.   This is called the  INIT-REBOOT
       state.    If  it  is still attached to the same network it
       was attached to when it last ran, this is the quickest way
       to  get started.   The _r_e_b_o_o_t statement sets the time that
       must elapse after the client first tries to reacquire  its
       old address before it gives up and tries to discover a new
       address.   By default, the reboot timeout is ten  seconds.

       _T_h_e bbaacckkooffff--ccuuttooffff _s_t_a_t_e_m_e_n_t

        bbaacckkooffff--ccuuttooffff _t_i_m_e;;

       The client uses an exponential backoff algorithm with some
       randomness, so that if many clients try to configure them-
       selves at the same time, they will not make their requests
       in lockstep.   The _b_a_c_k_o_f_f_-_c_u_t_o_f_f statement determines the
       maximum  amount of time that the client is allowed to back
       off, the actual value will be evaluated  randomly  between



                                                                2





dhclient.conf(5)                                 dhclient.conf(5)


       1/2  to  1  1/2 times the _t_i_m_e specified.   It defaults to
       two minutes.

       _T_h_e iinniittiiaall--iinntteerrvvaall _s_t_a_t_e_m_e_n_t

        iinniittiiaall--iinntteerrvvaall _t_i_m_e;;

       The _i_n_i_t_i_a_l_-_i_n_t_e_r_v_a_l statement sets  the  amount  of  time
       between the first attempt to reach a server and the second
       attempt to reach a server.  Each time a message  is  sent,
       the  interval between messages is incremented by twice the
       current interval multiplied by  a  random  number  between
       zero  and  one.   If it is greater than the backoff-cutoff
       amount, it is set to that amount.  It defaults to ten sec-
       onds.

LLEEAASSEE RREEQQUUIIRREEMMEENNTTSS AANNDD RREEQQUUEESSTTSS
       The  DHCP  protocol  allows the client to request that the
       server send it specific information, and not send it other
       information  that it is not prepared to accept.   The pro-
       tocol also allows the client to reject offers from servers
       if  they don't contain information the client needs, or if
       the information provided is not satisfactory.

       There is a variety of data contained in offers  that  DHCP
       servers  send  to  DHCP  clients.   The  data  that can be
       specifically requested is what are  called  _D_H_C_P  _O_p_t_i_o_n_s.
       DHCP Options are defined in
        ddhhccpp--ooppttiioonnss((55)).

       _T_h_e rreeqquueesstt _s_t_a_t_e_m_e_n_t

        rreeqquueesstt [[ _o_p_t_i_o_n ] [,, _._._. _o_p_t_i_o_n ];;

       The  request  statement  causes the client to request that
       any server responding to the client send  the  client  its
       values  for the specified options.   Only the option names
       should be specified in the request statement - not  option
       parameters.    By  default,  the  DHCP server requests the
       subnet-mask,  broadcast-address,   time-offset,   routers,
       domain-name, domain-name-servers and host-name options.

       In  some  cases,  it may be desirable to send no parameter
       request list at  all.    To  do  this,  simply  write  the
       request statement but specify no parameters:

            request;

       _T_h_e rreeqquuiirree _s_t_a_t_e_m_e_n_t

        rreeqquuiirree [[ _o_p_t_i_o_n ] [,, _._._. _o_p_t_i_o_n _];;

       The  require  statement lists options that must be sent in
       order for an offer to be accepted.   Offers  that  do  not



                                                                3





dhclient.conf(5)                                 dhclient.conf(5)


       contain all the listed options will be ignored.

       _T_h_e sseenndd _s_t_a_t_e_m_e_n_t

        sseenndd  {{  [[ _o_p_t_i_o_n _d_e_c_l_a_r_a_t_i_o_n ] [,, _._._. _o_p_t_i_o_n _d_e_c_l_a_r_a_t_i_o_n
       ]}}

       The send statement causes the client to send the specified
       options  to  the  server with the specified values.  These
       are  full  option  declarations  as  described  in   ddhhccpp--
       ooppttiioonnss((55)).  Options that are always sent in the DHCP pro-
       tocol should not be specified here, except that the client
       can  specify  a rreeqquueesstteedd--lleeaassee--ttiimmee option other than the
       default requested lease time, which  is  two  hours.   The
       other  obvious  use for this statement is to send informa-
       tion to the server that will  allow  it  to  differentiate
       between this client and other clients or kinds of clients.

DDYYNNAAMMIICC DDNNSS
       The client now has some very limited support for doing DNS
       updates  when a lease is acquired.   This is prototypical,
       and probably doesn't do what  you  want.    It  also  only
       works  if you happen to have control over your DNS server,
       which isn't very likely.

       To make it work, you have to declare a key and zone as  in
       the  DHCP  server  (see  ddhhccppdd..ccoonnff(5) for details).   You
       also need to configure the fqdn option on the  client,  as
       follows:

         send fqdn.fqdn "grosse.fugue.com.";
         send fqdn.encoded on;
         send fqdn.server-update off;

       The  _f_q_d_n_._f_q_d_n  option  MMUUSSTT  be  a fully-qualified domain
       name.   You MMUUSSTT define a zone statement for the  zone  to
       be  updated.    The _f_q_d_n_._e_n_c_o_d_e_d option may need to be set
       to _o_n or _o_f_f, depending on the DHCP server you are  using.

       _T_h_e ddoo--ffoorrwwaarrdd--uuppddaatteess _s_t_a_t_e_m_e_n_t

        ddoo--ffoorrwwaarrdd--uuppddaatteess [[ _f_l_a_g ] ;;

       If  you  want  to do DNS updates in the DHCP client script
       (see  ddhhcclliieenntt--ssccrriipptt((88)))  rather  than  having  the  DHCP
       client do the update directly (for example, if you want to
       use SIG(0) authentication, which is not supported directly
       by  the DHCP client, you can instruct the client not to do
       the update using the ddoo--ffoorrwwaarrdd--uuppddaatteess statement.    _F_l_a_g
       should  be  ttrruuee  if  you  want  the DHCP client to do the
       update, and ffaallssee if you don't want the DHCP client to  do
       the  update.   By default, the DHCP client will do the DNS
       update.




                                                                4





dhclient.conf(5)                                 dhclient.conf(5)


OOPPTTIIOONN MMOODDIIFFIIEERRSS
       In some cases, a client may receive option data  from  the
       server which is not really appropriate for that client, or
       may not receive information that it needs, and for which a
       useful  default value exists.   It may also receive infor-
       mation which is useful, but which needs to be supplemented
       with  local  information.   To handle these needs, several
       option modifiers are available.

       _T_h_e ddeeffaauulltt _s_t_a_t_e_m_e_n_t

        ddeeffaauulltt [[ _o_p_t_i_o_n _d_e_c_l_a_r_a_t_i_o_n ] ;;

       If for some option the client should use  the  value  sup-
       plied  by  the server, but needs to use some default value
       if no value was supplied by the server, these  values  can
       be defined in the ddeeffaauulltt statement.

       _T_h_e ssuuppeerrsseeddee _s_t_a_t_e_m_e_n_t

        ssuuppeerrsseeddee [[ _o_p_t_i_o_n _d_e_c_l_a_r_a_t_i_o_n ] ;;

       If for some option the client should always use a locally-
       configured value or values rather than  whatever  is  sup-
       plied  by  the  server, these values can be defined in the
       ssuuppeerrsseeddee statement.

       _T_h_e pprreeppeenndd _s_t_a_t_e_m_e_n_t

        pprreeppeenndd [[ _o_p_t_i_o_n _d_e_c_l_a_r_a_t_i_o_n ] ;;

       If for some set of options the client should use  a  value
       you  supply,  and  then  use  the  values  supplied by the
       server, if any, these values can be defined in the pprreeppeenndd
       statement.    The  pprreeppeenndd  statement can only be used for
       options which allow more  than  one  value  to  be  given.
       This  restriction  is not enforced - if you ignore it, the
       behaviour will be unpredictable.

       _T_h_e aappppeenndd _s_t_a_t_e_m_e_n_t

        aappppeenndd [[ _o_p_t_i_o_n _d_e_c_l_a_r_a_t_i_o_n ] ;;

       If for some set of options the client should first use the
       values supplied by the server, if any, and then use values
       you supply, these values can  be  defined  in  the  aappppeenndd
       statement.    The  aappppeenndd  statement  can only be used for
       options which allow more  than  one  value  to  be  given.
       This  restriction  is not enforced - if you ignore it, the
       behaviour will be unpredictable.

LLEEAASSEE DDEECCLLAARRAATTIIOONNSS
       _T_h_e lleeaassee _d_e_c_l_a_r_a_t_i_o_n




                                                                5





dhclient.conf(5)                                 dhclient.conf(5)


        lleeaassee {{ _l_e_a_s_e_-_d_e_c_l_a_r_a_t_i_o_n [ ... _l_e_a_s_e_-_d_e_c_l_a_r_a_t_i_o_n _] }}

       The DHCP client may decide after some period of time  (see
       PPRROOTTOOCCOOLL  TTIIMMIINNGG)  that it is not going to succeed in con-
       tacting a server.   At that  time,  it  consults  its  own
       database of old leases and tests each one that has not yet
       timed out by pinging the listed router for that  lease  to
       see  if  that lease could work.   It is possible to define
       one or more _f_i_x_e_d leases in the client configuration  file
       for  networks  where there is no DHCP or BOOTP service, so
       that the client  can  still  automatically  configure  its
       address.   This is done with the lleeaassee statement.

       NOTE:   the   lease   statement   is   also  used  in  the
       dhclient.leases file in order to record leases  that  have
       been  received  from DHCP servers.  Some of the syntax for
       leases  as  described  below  is  only   needed   in   the
       dhclient.leases file.   Such syntax is documented here for
       completeness.

       A lease statement consists of the lease keyword,  followed
       by  a left curly brace, followed by one or more lease dec-
       laration statements, followed  by  a  right  curly  brace.
       The following lease declarations are possible:

        bboooottpp;;

       The bboooottpp statement is used to indicate that the lease was
       acquired using the BOOTP protocol  rather  than  the  DHCP
       protocol.    It  is never necessary to specify this in the
       client configuration file.   The client uses  this  syntax
       in its lease database file.

        iinntteerrffaaccee ""_s_t_r_i_n_g"";;

       The  iinntteerrffaaccee  lease  statement  is  used to indicate the
       interface on which the lease  is  valid.    If  set,  this
       lease will only be tried on a particular interface.   When
       the client receives a  lease  from  a  server,  it  always
       records  the  interface  number  on which it received that
       lease.   If  predefined  leases  are  specified   in   the
       dhclient.conf  file,  the  interface should also be speci-
       fied, although this is not required.

        ffiixxeedd--aaddddrreessss _i_p_-_a_d_d_r_e_s_s;;

       The ffiixxeedd--aaddddrreessss statement is used to set the ip  address
       of  a  particular  lease.   This is required for all lease
       statements.   The IP address must be specified as a dotted
       quad (e.g., 12.34.56.78).

        ffiilleennaammee ""_s_t_r_i_n_g"";;

       The  ffiilleennaammee  statement  specifies  the  name of the boot



                                                                6





dhclient.conf(5)                                 dhclient.conf(5)


       filename to use.   This is not used by the standard client
       configuration script, but is included for completeness.

        sseerrvveerr--nnaammee ""_s_t_r_i_n_g"";;

       The  sseerrvveerr--nnaammee  statement specifies the name of the boot
       server name to use.   This is also not used by  the  stan-
       dard client configuration script.

        ooppttiioonn _o_p_t_i_o_n_-_d_e_c_l_a_r_a_t_i_o_n;;

       The  ooppttiioonn  statement  is used to specify the value of an
       option supplied by the server, or, in the case  of  prede-
       fined leases declared in dhclient.conf, the value that the
       user wishes the client configuration script to use if  the
       predefined lease is used.

        ssccrriipptt ""_s_c_r_i_p_t_-_n_a_m_e"";;

       The  ssccrriipptt  statement  is used to specify the pathname of
       the dhcp client configuration script.  This script is used
       by the dhcp client to set each interface's initial config-
       uration prior  to  requesting  an  address,  to  test  the
       address  once  it  has been offered, and to set the inter-
       face's final configuration once a lease has been acquired.
       If no lease is acquired, the script is used to test prede-
       fined leases, if any, and also called  once  if  no  valid
       lease  can  be  identified.    For  more  information, see
       ddhhcclliieenntt--ssccrriipptt((88))..

        vveennddoorr ooppttiioonn ssppaaccee ""_n_a_m_e"";;

       The vveennddoorr ooppttiioonn ssppaaccee statement is used to specify which
       option space should be used for decoding the vendor-encap-
       sulate-options option if one is received.   The  _d_h_c_p_-_v_e_n_-
       _d_o_r_-_i_d_e_n_t_i_f_i_e_r  can be used to request a specific class of
       vendor options from the server.   See ddhhccpp--ooppttiioonnss((55))  for
       details.

        mmeeddiiuumm ""_m_e_d_i_a _s_e_t_u_p"";;

       The  mmeeddiiuumm statement can be used on systems where network
       interfaces cannot automatically determine the type of net-
       work  to which they are connected.  The media setup string
       is a system-dependent parameter which  is  passed  to  the
       dhcp  client  configuration  script  when initializing the
       interface.  On Unix and Unix-like systems, the argument is
       passed  on  the ifconfig command line when configuring the
       interface.

       The dhcp client automatically declares this  parameter  if
       it  uses  a media type (see the mmeeddiiaa statement) when con-
       figuring the interface in order to obtain a  lease.   This
       statement  should be used in predefined leases only if the



                                                                7





dhclient.conf(5)                                 dhclient.conf(5)


       network interface requires media type configuration.

        rreenneeww _d_a_t_e;;

        rreebbiinndd _d_a_t_e;;

        eexxppiirree _d_a_t_e;;

       The rreenneeww statement defines the time  at  which  the  dhcp
       client  should begin trying to contact its server to renew
       a lease that it is using.   The rreebbiinndd  statement  defines
       the  time  at which the dhcp client should begin to try to
       contact _a_n_y dhcp server in order to renew its lease.   The
       eexxppiirree statement defines the time at which the dhcp client
       must stop using a lease if it has not been able to contact
       a server in order to renew it.

       These   declarations   are  automatically  set  in  leases
       acquired by the DHCP client, but must also  be  configured
       in  predefined  leases  -  a predefined lease whose expiry
       time has passed will not be used by the DHCP client.

       Dates are specified in one of two ways.  The software will
       output  times in these two formats depending on if the ddbb--
       ttiimmee--ffoorrmmaatt  configuration  parameter  has  been  set   to
       _d_e_f_a_u_l_t or _l_o_c_a_l.

       If  it  is set to _d_e_f_a_u_l_t, then _d_a_t_e values appear as fol-
       lows:

        _<_w_e_e_k_d_a_y_> _<_y_e_a_r_>//_<_m_o_n_t_h_>//_<_d_a_y_> _<_h_o_u_r_>::_<_m_i_n_u_t_e_>::_<_s_e_c_o_n_d_>

       The weekday is present to make it easy for a human to tell
       when  a  lease  expires  - it's specified as a number from
       zero to six, with zero being  Sunday.   When  declaring  a
       predefined lease, it can always be specified as zero.  The
       year is specified with the century, so it should generally
       be  four  digits except for really long leases.  The month
       is specified as a number starting with 1 for January.  The
       day  of  the  month is likewise specified starting with 1.
       The hour is a number between 0 and 23, the minute a number
       between  0  and 59, and the second also a number between 0
       and 59.

       If the ddbb--ttiimmee--ffoorrmmaatt configuration was set to _l_o_c_a_l, then
       the _d_a_t_e values appear as follows:

        eeppoocchh  _<_s_e_c_o_n_d_s_-_s_i_n_c_e_-_e_p_o_c_h_>;;  ##  _<_d_a_y_-_n_a_m_e_> _<_m_o_n_t_h_-_n_a_m_e_>
       _<_d_a_y_-_n_u_m_b_e_r_> _<_h_o_u_r_s_>::_<_m_i_n_u_t_e_s_>::_<_s_e_c_o_n_d_s_> _<_y_e_a_r_>

       The _s_e_c_o_n_d_s_-_s_i_n_c_e_-_e_p_o_c_h is as according  to  the  system's
       local  clock  (often  referred  to as "unix time").  The ##
       symbol supplies a comment that describes what actual  time
       this  is as according to the system's configured timezone,



                                                                8





dhclient.conf(5)                                 dhclient.conf(5)


       at the time the value was written.  It  is  provided  only
       for  human  inspection,  the epoch time is the only recom-
       mended value for machine inspection.

       Note that when defining a static lease, one may use either
       time  format  one wishes, and need not include the comment
       or values after it.

       If the time is infinite in  duration,  then  the  _d_a_t_e  is
       nneevveerr instead of an actual date.

AALLIIAASS DDEECCLLAARRAATTIIOONNSS
        aalliiaass {{  _d_e_c_l_a_r_a_t_i_o_n_s _._._. }}

       Some  DHCP  clients  running  TCP/IP roaming protocols may
       require that in addition to the lease they may acquire via
       DHCP, their interface also be configured with a predefined
       IP alias so that they can have a permanent IP address even
       while  roaming.    The  Internet  Systems  Consortium DHCP
       client  doesn't  support  roaming  with  fixed   addresses
       directly, but in order to facilitate such experimentation,
       the dhcp client can be set up to  configure  an  IP  alias
       using the aalliiaass declaration.

       The  alias  declaration  resembles  a  lease  declaration,
       except that options other than the subnet-mask option  are
       ignored  by  the standard client configuration script, and
       expiry times are ignored.   A  typical  alias  declaration
       includes  an interface declaration, a fixed-address decla-
       ration for the IP alias address, and a subnet-mask  option
       declaration.   A medium statement should never be included
       in an alias declaration.

OOTTHHEERR DDEECCLLAARRAATTIIOONNSS
        ddbb--ttiimmee--ffoorrmmaatt [ _d_e_f_a_u_l_t | _l_o_c_a_l ] ;;

       The ddbb--ttiimmee--ffoorrmmaatt option determines which of  two  output
       methods  are used for printing times in leases files.  The
       _d_e_f_a_u_l_t format provides day-and-time in UTC, whereas _l_o_c_a_l
       uses  a  seconds-since-epoch  to store the time value, and
       helpfully places a local timezone time in a comment on the
       same  line.   The  formats are described in detail in this
       manpage, whithin the LEASE DECLARATIONS section.

        rreejjeecctt _c_i_d_r_-_i_p_-_a_d_d_r_e_s_s [,, _._._. _c_i_d_r_-_i_p_-_a_d_d_r_e_s_s ] ;;

       The rreejjeecctt statement causes  the  DHCP  client  to  reject
       offers from servers whose server identifier matches any of
       the specified hosts or subnets.  This can be used to avoid
       being  configured  by rogue or misconfigured dhcp servers,
       although it should be a last resort - better to track down
       the bad DHCP server and fix it.

       The  _c_i_d_r_-_i_p_-_a_d_d_r_e_s_s configuration type is of the form _i_p_-



                                                                9





dhclient.conf(5)                                 dhclient.conf(5)


       _a_d_d_r_e_s_s[//_p_r_e_f_i_x_l_e_n], where _i_p_-_a_d_d_r_e_s_s is a dotted quad  IP
       address,  and  prefixlen  is the CIDR prefix length of the
       subnet, counting the number of  significant  bits  in  the
       netmask  starting from the leftmost end.  Example configu-
       ration syntax:

       _r_e_j_e_c_t 192.168.0.0//16,, 10.0.0.5;;

The above example would cause offers from any  server  identifier
in  the  entire RFC 1918 "Class C" network 192.168.0.0/16, or the
specific single address 10.0.0.5, to be rejected.

 iinntteerrffaaccee ""_n_a_m_e"" {{ _d_e_c_l_a_r_a_t_i_o_n_s _._._.  }}

A client with more than one network interface may require differ-
ent  behaviour  depending on which interface is being configured.
All timing parameters and declarations other than lease and alias
declarations  can  be  enclosed  in an interface declaration, and
those parameters will then be used only for  the  interface  that
matches  the  specified  name.   Interfaces for which there is no
interface declaration will use the parameters declared outside of
any interface declaration, or the default settings.

NNoottee  wweellll::  ISC  dhclient only maintains one list of interfaces,
which is either determined at startup  from  command  line  argu-
ments, or otherwise is autodetected.  If you supplied the list of
interfaces on the command line, this  configuration  clause  will
add the named interface to the list in such a way that will cause
it to be configured by DHCP.  Which may not be the result you had
intended.   This  is  an  undesirable  side  effect  that will be
addressed in a future release.

 ppsseeuuddoo ""_n_a_m_e" "_r_e_a_l_-_n_a_m_e"" {{ _d_e_c_l_a_r_a_t_i_o_n_s _._._.  }}

Under some circumstances it can be useful to  declare  a  pseudo-
interface  and  have  the DHCP client acquire a configuration for
that interface.  Each interface that the DHCP client is  support-
ing  normally  has  a  DHCP client state machine running on it to
acquire and maintain  its  lease.   A  pseudo-interface  is  just
another  state  machine running on the interface named _r_e_a_l_-_n_a_m_e,
with its own lease and its own state.   If you use this  feature,
you  must  provide a client identifier for both the pseudo-inter-
face and the actual interface, and the two  identifiers  must  be
different.    You  must also provide a separate client script for
the pseudo-interface to do what you want  with  the  IP  address.
For example:

     interface "ep0" {
          send dhcp-client-identifier "my-client-ep0";
     }
     pseudo "secondary" "ep0" {
          send dhcp-client-identifier "my-client-ep0-secondary";
          script "/etc/dhclient-secondary";
     }



                                                               10





dhclient.conf(5)                                 dhclient.conf(5)


The  client  script for the pseudo-interface should not configure
the interface up or down - essentially, all it  needs  to  handle
are  the  states  where a lease has been acquired or renewed, and
the states where a lease has  expired.    See  ddhhcclliieenntt--ssccrriipptt((88))
for more information.

 mmeeddiiaa ""_m_e_d_i_a _s_e_t_u_p"" _[ ,, ""_m_e_d_i_a _s_e_t_u_p"",, _._._. _];;

The  mmeeddiiaa  statement  defines  one  or  more media configuration
parameters which may be tried while attempting to acquire  an  IP
address.    The  dhcp  client will cycle through each media setup
string on the list, configuring the interface  using  that  setup
and  attempting to boot, and then trying the next one.   This can
be used for network interfaces which aren't  capable  of  sensing
the media type unaided - whichever media type succeeds in getting
a request to the server and hearing the reply is  probably  right
(no guarantees).

The  media  setup  is  only used for the initial phase of address
acquisition (the DHCPDISCOVER and DHCPOFFER packets).    Once  an
address  has been acquired, the dhcp client will record it in its
lease database and will record the media type used to acquire the
address.   Whenever  the client tries to renew the lease, it will
use that same media type.   The  lease  must  expire  before  the
client will go back to cycling through media types.

SSAAMMPPLLEE
       The  following configuration file is used on a laptop run-
       ning  NetBSD  1.3.    The  laptop  has  an  IP  alias   of
       192.5.5.213,  and  has one interface, ep0 (a 3com 3C589C).
       Booting intervals have been shortened  somewhat  from  the
       default,  because the client is known to spend most of its
       time on networks with little DHCP activity.    The  laptop
       does roam to multiple networks.


       timeout 60;
       retry 60;
       reboot 10;
       select-timeout 5;
       initial-interval 2;
       reject 192.33.137.209;

       interface "ep0" {
           send host-name "andare.fugue.com";
           send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
           send dhcp-lease-time 3600;
           supersede domain-name "fugue.com rc.vix.com home.vix.com";
           prepend domain-name-servers 127.0.0.1;
           request subnet-mask, broadcast-address, time-offset, routers,
                domain-name, domain-name-servers, host-name;
           require subnet-mask, domain-name-servers;
           script "/usr/local/sbin/dhclient-script";
           media "media 10baseT/UTP", "media 10base2/BNC";



                                                               11





dhclient.conf(5)                                 dhclient.conf(5)


       }

       alias {
         interface "ep0";
         fixed-address 192.5.5.213;
         option subnet-mask 255.255.255.255;
       }
       This  is  a  very complicated dhclient.conf file - in gen-
       eral, yours should be much simpler.   In many cases,  it's
       sufficient  to  just  create an empty dhclient.conf file -
       the defaults are usually fine.

SSEEEE AALLSSOO
       dhcp-options(5),     dhcp-eval(5),     dhclient.leases(5),
       dhcpd(8), dhcpd.conf(5), RFC2132, RFC2131.

AAUUTTHHOORR
       ddhhcclliieenntt((88)) was written by Ted Lemon under a contract with
       Vixie Labs.   Funding for this  project  was  provided  by
       Internet  Systems  Consortium.  Information about Internet
       Systems Consortium can be found at hhttttppss::////wwwwww..iisscc..oorrgg..




































                                                               12


