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


NAME
       dhclient.conf - DHCP client configuration file

DESCRIPTION
       The  dhclient.conf file contains configuration information
       for  dhclient,  the  Internet  Software  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.

PROTOCOL TIMING
       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:

       The timeout statement

       timeout time ;

       The timeout 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)


       The retry statement

        retry time;

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

       The select-timeout statement

        select-timeout time;

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

       The reboot statement

        reboot time;

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

       The backoff-cutoff statement

        backoff-cutoff time;

       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 backoff-cutoff statement determines the
       maximum  amount of time that the client is allowed to back
       off.   It defaults to two minutes.



                                                                2





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


       The initial-interval statement

        initial-interval time;

       The initial-interval 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.

LEASE REQUIREMENTS AND REQUESTS
       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  DHCP  Options.
       DHCP Options are defined in
        dhcp-options(5).

       The request statement

        request [ option ] [, ... option ];

       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;

       The require statement

        require [ option ] [, ... option ];

       The  require  statement lists options that must be sent in
       order for an offer to be accepted.   Offers  that  do  not
       contain all the listed options will be ignored.

       The send statement



                                                                3





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


        send  {  [ option declaration ] [, ... option declaration
       ]}

       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   dhcp-
       options(5).  Options that are always sent in the DHCP pro-
       tocol should not be specified here, except that the client
       can  specify  a requested-lease-time 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.

DYNAMIC DNS
       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  dhcpd.conf(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  fqdn.fqdn  option  MUST  be  a fully-qualified domain
       name.   You MUST define a zone statement for the  zone  to
       be  updated.    The fqdn.encoded option may need to be set
       to on or off, depending on the DHCP server you are  using.

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

       The default statement

        default [ option declaration ] ;

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

       The supersede statement



                                                                4





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


        supersede [ option declaration ] ;

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

       The prepend statement

        prepend [ option declaration ] ;

       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 prepend
       statement.   The prepend 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.

       The append statement

        append [ option declaration ] ;

       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 append
       statement.   The append 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.

LEASE DECLARATIONS
       The lease declaration

        lease { lease-declaration [ ... lease-declaration ] }

       The  DHCP client may decide after some period of time (see
       PROTOCOL TIMING) decide that it is not going to succeed in
       contacting  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 fixed 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 lease 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.




                                                                5





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


       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:

        bootp;

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

        interface "string";

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

        fixed-address ip-address;

       The  fixed-address 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).

        filename "string";

       The filename statement specifies  the  name  of  the  boot
       filename to use.   This is not used by the standard client
       configuration script, but is included for completeness.

        server-name "string";

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

        option option-declaration;

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

        script "script-name";

       The script statement is used to specify  the  pathname  of



                                                                6





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


       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
       dhclient-script(8).

        vendor option space "name";

       The vendor option space statement is used to specify which
       option space should be used for decoding the vendor-encap-
       sulate-options  option  if one is received.  The dhcp-ven-
       dor-identifier can be used to request a specific class  of
       vendor  options from the server.   See dhcp-options(5) for
       details.

        medium "media setup";

       The medium 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  te
       interface.

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

        renew date;

        rebind date;

        expire date;

       The  renew  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 rebind statement defines
       the time at which the dhcp client should begin to  try  to
       contact any dhcp server in order to renew its lease.   The
       expire 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



                                                                7





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


       time has passed will not be used by the DHCP client.

       Dates are specified as follows:

        <weekday> <year>/<month>/<day> <hour>:<minute>:<second>

       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.

ALIAS DECLARATIONS
        alias {  declarations ... }

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

OTHER DECLARATIONS
        reject ip-address;

       The reject statement causes  the  DHCP  client  to  reject
       offers  from  servers  who  use the specified address as a
       server identifier.   This can be used to avoid being  con-
       figured  by  rogue or misconfigured dhcp servers, although
       it should be a last resort - better to track down the  bad
       DHCP server and fix it.

        interface "name" { declarations ...  }

       A  client with more than one network interface may require
       different behaviour depending on which interface is  being



                                                                8





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


       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 decla-
       ration will use the parameters  declared  outside  of  any
       interface declaration, or the default settings.

        pseudo "name" "real-name" { declarations ...  }

       Under  some  circumstances  it  can be useful to declare a
       pseudo-interface and have the DHCP client acquire  a  con-
       figuration  for  that  interface.  Each interface that the
       DHCP client is supporting 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 real-name, with its own lease and
       its own state.   If you use this feature, you must provide
       a  client identifier for both the pseudo-interface and the
       actual interface, and the two identifiers must be  differ-
       ent.    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";
            }

       The client script for the pseudo-interface should not con-
       figure 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 dhclient-script(8) for more information.

        media "media setup" [ , "media setup", ... ];

       The  media  statement defines one or more media configura-
       tion 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 pack-
       tes).   Once an address has been acquired, the dhcp client



                                                                9





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


       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.

SAMPLE
       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 "/etc/dhclient-script";
           media "media 10baseT/UTP", "media 10base2/BNC";
       }

       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.

SEE ALSO
       dhcp-options(5),       dhclient.leases(5),       dhcpd(8),
       dhcpd.conf(5), RFC2132, RFC2131.

AUTHOR
       dhclient(8)  was  written  by  Ted  Lemon <mellon@vix.com>
       under a contract with Vixie Labs.   Funding for this  pro-
       ject  was  provided  by  the Internet Software Consortium.



                                                               10





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


       Information about the Internet Software Consortium can  be
       found at http://www.isc.org/isc.























































                                                               11



You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2018 Modified for NetBSD by Kimmo Suominen