File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / dhcp / client / dhclient.conf.5
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:30:18 2012 UTC (12 years, 4 months ago) by misho
CVS tags: MAIN, HEAD
Initial revision

    1: .\"	$Id: dhclient.conf.5,v 1.1 2012/02/21 22:30:18 misho Exp $
    2: .\"
    3: .\" Copyright (c) 2009-2011 by Internet Systems Consortium, Inc. ("ISC")
    4: .\" Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC")
    5: .\" Copyright (c) 1996-2003 by Internet Software Consortium
    6: .\"
    7: .\" Permission to use, copy, modify, and distribute this software for any
    8: .\" purpose with or without fee is hereby granted, provided that the above
    9: .\" copyright notice and this permission notice appear in all copies.
   10: .\"
   11: .\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
   12: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   13: .\" MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
   14: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   15: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   16: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
   17: .\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   18: .\"
   19: .\"   Internet Systems Consortium, Inc.
   20: .\"   950 Charter Street
   21: .\"   Redwood City, CA 94063
   22: .\"   <info@isc.org>
   23: .\"   https://www.isc.org/
   24: .\"
   25: .\" This software has been written for Internet Software Consortium
   26: .\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
   27: .\" 
   28: .\" Support and other services are available for ISC products - see
   29: .\" https://www.isc.org for more information or to learn more about ISC.
   30: .\"
   31: .TH dhclient.conf 5
   32: .SH NAME
   33: dhclient.conf - DHCP client configuration file
   34: .SH DESCRIPTION
   35: The dhclient.conf file contains configuration information for
   36: .IR dhclient,
   37: the Internet Systems Consortium DHCP Client.
   38: .PP
   39: The dhclient.conf file is a free-form ASCII text file.   It is parsed by
   40: the recursive-descent parser built into dhclient.   The file may contain
   41: extra tabs and newlines for formatting purposes.  Keywords in the file
   42: are case-insensitive.   Comments may be placed anywhere within the
   43: file (except within quotes).   Comments begin with the # character and
   44: end at the end of the line.
   45: .PP
   46: The dhclient.conf file can be used to configure the behaviour of the
   47: client in a wide variety of ways: protocol timing, information
   48: requested from the server, information required of the server,
   49: defaults to use if the server does not provide certain information,
   50: values with which to override information provided by the server, or
   51: values to prepend or append to information provided by the server.
   52: The configuration file can also be preinitialized with addresses to
   53: use on networks that don't have DHCP servers.
   54: .SH PROTOCOL TIMING
   55: The timing behaviour of the client need not be configured by the user.
   56: If no timing configuration is provided by the user, a fairly
   57: reasonable timing behaviour will be used by default - one which
   58: results in fairly timely updates without placing an inordinate load on
   59: the server.
   60: .PP
   61: The following statements can be used to adjust the timing behaviour of
   62: the DHCP client if required, however:
   63: .PP
   64: .I The
   65: .B timeout
   66: .I statement
   67: .PP
   68: .B timeout
   69: .I time
   70: .B ;
   71: .PP
   72: The
   73: .I timeout
   74: statement determines the amount of time that must pass between the
   75: time that the client begins to try to determine its address and the
   76: time that it decides that it's not going to be able to contact a
   77: server.   By default, this timeout is sixty seconds.   After the
   78: timeout has passed, if there are any static leases defined in the
   79: configuration file, or any leases remaining in the lease database that
   80: have not yet expired, the client will loop through these leases
   81: attempting to validate them, and if it finds one that appears to be
   82: valid, it will use that lease's address.   If there are no valid
   83: static leases or unexpired leases in the lease database, the client
   84: will restart the protocol after the defined retry interval.
   85: .PP
   86: .I The
   87: .B retry
   88: .I statement
   89: .PP
   90:  \fBretry \fItime\fR\fB;\fR
   91: .PP
   92: The
   93: .I retry
   94: statement determines the time that must pass after the client has
   95: determined that there is no DHCP server present before it tries again
   96: to contact a DHCP server.   By default, this is five minutes.
   97: .PP
   98: .I The
   99: .B select-timeout
  100: .I statement
  101: .PP
  102:  \fBselect-timeout \fItime\fR\fB;\fR
  103: .PP
  104: It is possible (some might say desirable) for there to be more than
  105: one DHCP server serving any given network.   In this case, it is
  106: possible that a client may be sent more than one offer in response to
  107: its initial lease discovery message.   It may be that one of these
  108: offers is preferable to the other (e.g., one offer may have the
  109: address the client previously used, and the other may not).
  110: .PP
  111: The
  112: .I select-timeout
  113: is the time after the client sends its first lease discovery request
  114: at which it stops waiting for offers from servers, assuming that it
  115: has received at least one such offer.   If no offers have been
  116: received by the time the
  117: .I select-timeout
  118: has expired, the client will accept the first offer that arrives.
  119: .PP
  120: By default, the select-timeout is zero seconds - that is, the client
  121: will take the first offer it sees.
  122: .PP
  123: .I The
  124: .B reboot
  125: .I statement
  126: .PP
  127:  \fBreboot \fItime\fR\fB;\fR
  128: .PP
  129: When the client is restarted, it first tries to reacquire the last
  130: address it had.   This is called the INIT-REBOOT state.   If it is
  131: still attached to the same network it was attached to when it last
  132: ran, this is the quickest way to get started.   The
  133: .I reboot
  134: statement sets the time that must elapse after the client first tries
  135: to reacquire its old address before it gives up and tries to discover
  136: a new address.   By default, the reboot timeout is ten seconds.
  137: .PP
  138: .I The
  139: .B backoff-cutoff
  140: .I statement
  141: .PP
  142:  \fBbackoff-cutoff \fItime\fR\fB;\fR
  143: .PP
  144: The client uses an exponential backoff algorithm with some randomness,
  145: so that if many clients try to configure themselves at the same time,
  146: they will not make their requests in lockstep.   The
  147: .I backoff-cutoff
  148: statement determines the maximum amount of time that the client is
  149: allowed to back off, the actual value will be evaluated randomly between
  150: 1/2 to 1 1/2 times the \fItime\fR specified.   It defaults to two minutes.
  151: .PP
  152: .I The
  153: .B initial-interval
  154: .I statement
  155: .PP
  156:  \fBinitial-interval \fItime\fR\fB;\fR
  157: .PP
  158: The
  159: .I initial-interval
  160: statement sets the amount of time between the first attempt to reach a
  161: server and the second attempt to reach a server.  Each time a message
  162: is sent, the interval between messages is incremented by twice the
  163: current interval multiplied by a random number between zero and one.
  164: If it is greater than the backoff-cutoff amount, it is set to that
  165: amount.  It defaults to ten seconds.
  166: .PP
  167: .I The initial-delay
  168: .I statement
  169: .PP
  170:  \fBinitial-delay \fItime\fR\fB;\fR
  171: .PP
  172: .I initial-delay 
  173: parameter sets the maximum time client can wait after start before 
  174: commencing first transmission.
  175: According to RFC2131 Section 4.4.1, client should wait a random time between
  176: startup and the actual first transmission. Previous versions of ISC DHCP 
  177: client used to wait random time up to 5 seconds, but that was unwanted
  178: due to impact on startup time. As such, new versions have the default
  179: initial delay set to 0. To restore old behavior, please set initial-delay
  180: to 5.
  181: .SH LEASE REQUIREMENTS AND REQUESTS
  182: The DHCP protocol allows the client to request that the server send it
  183: specific information, and not send it other information that it is not
  184: prepared to accept.   The protocol also allows the client to reject
  185: offers from servers if they don't contain information the client
  186: needs, or if the information provided is not satisfactory.
  187: .PP
  188: There is a variety of data contained in offers that DHCP servers send
  189: to DHCP clients.  The data that can be specifically requested is what
  190: are called \fIDHCP Options\fR.  DHCP Options are defined in
  191:  \fBdhcp-options(5)\fR.
  192: .PP
  193: .I The
  194: .B request
  195: .I statement
  196: .PP
  197:  \fB[ also ] request [ [ \fIoption-space\fR . ] \fIoption\fR ] [\fB,\fI ... ]\fB;\fR
  198: .PP
  199: The request statement causes the client to request that any server
  200: responding to the client send the client its values for the specified
  201: options.   Only the option names should be specified in the request
  202: statement - not option parameters.   By default, the DHCPv4 client
  203: requests the subnet-mask, broadcast-address, time-offset, routers,
  204: domain-name, domain-name-servers and host-name options while the DHCPv6
  205: client requests the dhcp6 name-servers and domain-search options.  Note
  206: that if you enter a \'request\' statement, you over-ride these defaults
  207: and these options will not be requested.
  208: .PP
  209: In some cases, it may be desirable to send no parameter request list
  210: at all.   To do this, simply write the request statement but specify
  211: no parameters:
  212: .PP
  213: .nf
  214: 	request;
  215: .fi
  216: .PP
  217: In most cases, it is desirable to simply add one option to the request
  218: list which is of interest to the client in question.  In this case, it
  219: is best to \'also request\' the additional options:
  220: .PP
  221: .nf
  222: 	also request domain-search, dhcp6.sip-servers-addresses;
  223: .fi
  224: .PP
  225: .I The
  226: .B require
  227: .I statement
  228: .PP
  229:  \fB[ also ] require [ [ \fIoption-space\fR . ] \fIoption\fR ] [\fB,\fI ... ]\fB;\fR
  230: .PP
  231: The require statement lists options that must be sent in order for an
  232: offer to be accepted.   Offers that do not contain all the listed
  233: options will be ignored.  There is no default require list.
  234: .PP
  235: .nf
  236: 	require name-servers;
  237: 
  238: 	interface eth0 {
  239: 		also require domain-search;
  240: 	}
  241: .PP
  242: .I The
  243: .B send
  244: .I statement
  245: .PP
  246:  \fBsend { [ \fIoption declaration\fR ]
  247: [\fB,\fI ... \fIoption declaration\fR ]\fB}\fR
  248: .PP
  249: The send statement causes the client to send the specified options to
  250: the server with the specified values.  These are full option
  251: declarations as described in \fBdhcp-options(5)\fR.  Options that are
  252: always sent in the DHCP protocol should not be specified here, except
  253: that the client can specify a requested \fBdhcp-lease-time\fR option other
  254: than the default requested lease time, which is two hours.  The other
  255: obvious use for this statement is to send information to the server
  256: that will allow it to differentiate between this client and other
  257: clients or kinds of clients.
  258: .SH DYNAMIC DNS
  259: The client now has some very limited support for doing DNS updates
  260: when a lease is acquired.   This is prototypical, and probably doesn't
  261: do what you want.   It also only works if you happen to have control
  262: over your DNS server, which isn't very likely.
  263: .PP
  264: Note that everything in this section is true whether you are using DHCPv4
  265: or DHCPv6.  The exact same syntax is used for both.
  266: .PP
  267: To make it work, you have to declare a key and zone as in the DHCP
  268: server (see \fBdhcpd.conf\fR(5) for details).   You also need to
  269: configure the fqdn option on the client, as follows:
  270: .PP
  271: .nf
  272:   send fqdn.fqdn "grosse.fugue.com.";
  273:   send fqdn.encoded on;
  274:   send fqdn.server-update off;
  275:   also request fqdn, dhcp6.fqdn;
  276: .fi
  277: .PP
  278: The \fIfqdn.fqdn\fR option \fBMUST\fR be a fully-qualified domain
  279: name.   You \fBMUST\fR define a zone statement for the zone to be
  280: updated.   The \fIfqdn.encoded\fR option may need to be set to
  281: \fIon\fR or \fIoff\fR, depending on the DHCP server you are using.
  282: .PP
  283: .I The
  284: .B do-forward-updates
  285: .I statement
  286: .PP
  287:  \fBdo-forward-updates [ \fIflag\fR ] \fB;\fR
  288: .PP
  289: If you want to do DNS updates in the DHCP client
  290: script (see \fBdhclient-script(8)\fR) rather than having the
  291: DHCP client do the update directly (for example, if you want to
  292: use SIG(0) authentication, which is not supported directly by the
  293: DHCP client, you can instruct the client not to do the update using
  294: the \fBdo-forward-updates\fR statement.   \fIFlag\fR should be \fBtrue\fR
  295: if you want the DHCP client to do the update, and \fBfalse\fR if
  296: you don't want the DHCP client to do the update.   By default, the DHCP
  297: client will do the DNS update.
  298: .SH OPTION MODIFIERS
  299: In some cases, a client may receive option data from the server which
  300: is not really appropriate for that client, or may not receive
  301: information that it needs, and for which a useful default value
  302: exists.   It may also receive information which is useful, but which
  303: needs to be supplemented with local information.   To handle these
  304: needs, several option modifiers are available.
  305: .PP
  306: .I The
  307: .B default
  308: .I statement
  309: .PP
  310:  \fBdefault [ \fIoption declaration\fR ] \fB;\fR
  311: .PP
  312: If for some option the client should use the value supplied by
  313: the server, but needs to use some default value if no value was supplied
  314: by the server, these values can be defined in the
  315: .B default
  316: statement.
  317: .PP
  318: .I The
  319: .B supersede
  320: .I statement
  321: .PP
  322:  \fBsupersede [ \fIoption declaration\fR ] \fB;\fR
  323: .PP
  324: If for some option the client should always use a locally-configured
  325: value or values rather than whatever is supplied by the server, these
  326: values can be defined in the 
  327: .B supersede
  328: statement.
  329: .PP
  330: .I The
  331: .B prepend
  332: .I statement
  333: .PP
  334:  \fBprepend [ \fIoption declaration\fR ] \fB;\fR
  335: .PP
  336: If for some set of options the client should use a value you
  337: supply, and then use the values supplied by
  338: the server, if any, these values can be defined in the
  339: .B prepend
  340: statement.   The
  341: .B prepend
  342: statement can only be used for options which
  343: allow more than one value to be given.   This restriction is not
  344: enforced - if you ignore it, the behaviour will be unpredictable.
  345: .PP
  346: .I The
  347: .B append
  348: .I statement
  349: .PP
  350:  \fBappend [ \fIoption declaration\fR ] \fB;\fR
  351: .PP
  352: If for some set of options the client should first use the values
  353: supplied by the server, if any, and then use values you supply, these
  354: values can be defined in the
  355: .B append
  356: statement.   The
  357: .B append
  358: statement can only be used for options which
  359: allow more than one value to be given.   This restriction is not
  360: enforced - if you ignore it, the behaviour will be unpredictable.
  361: .SH LEASE DECLARATIONS
  362: .PP
  363: .I The
  364: .B lease
  365: .I declaration
  366: .PP
  367:  \fBlease {\fR \fIlease-declaration\fR [ ... \fIlease-declaration ] \fB}\fR
  368: .PP
  369: The DHCP client may decide after some period of time (see \fBPROTOCOL
  370: TIMING\fR) that it is not going to succeed in contacting a
  371: server.   At that time, it consults its own database of old leases and
  372: tests each one that has not yet timed out by pinging the listed router
  373: for that lease to see if that lease could work.   It is possible to
  374: define one or more \fIfixed\fR leases in the client configuration file
  375: for networks where there is no DHCP or BOOTP service, so that the
  376: client can still automatically configure its address.   This is done
  377: with the
  378: .B lease
  379: statement.
  380: .PP
  381: NOTE: the lease statement is also used in the dhclient.leases file in
  382: order to record leases that have been received from DHCP servers.
  383: Some of the syntax for leases as described below is only needed in the
  384: dhclient.leases file.   Such syntax is documented here for
  385: completeness.
  386: .PP
  387: A lease statement consists of the lease keyword, followed by a left
  388: curly brace, followed by one or more lease declaration statements,
  389: followed by a right curly brace.   The following lease declarations
  390: are possible:
  391: .PP
  392:  \fBbootp;\fR
  393: .PP
  394: The
  395: .B bootp
  396: statement is used to indicate that the lease was acquired using the
  397: BOOTP protocol rather than the DHCP protocol.   It is never necessary
  398: to specify this in the client configuration file.   The client uses
  399: this syntax in its lease database file.
  400: .PP
  401:  \fBinterface\fR \fB"\fR\fIstring\fR\fB";\fR
  402: .PP
  403: The
  404: .B interface
  405: lease statement is used to indicate the interface on which the lease
  406: is valid.   If set, this lease will only be tried on a particular
  407: interface.   When the client receives a lease from a server, it always
  408: records the interface number on which it received that lease.
  409: If predefined leases are specified in the dhclient.conf file, the
  410: interface should also be specified, although this is not required.
  411: .PP
  412:  \fBfixed-address\fR \fIip-address\fR\fB;\fR
  413: .PP
  414: The
  415: .B fixed-address
  416: statement is used to set the ip address of a particular lease.   This
  417: is required for all lease statements.   The IP address must be
  418: specified as a dotted quad (e.g., 12.34.56.78).
  419: .PP
  420:  \fBfilename "\fR\fIstring\fR\fB";\fR
  421: .PP
  422: The
  423: .B filename
  424: statement specifies the name of the boot filename to use.   This is
  425: not used by the standard client configuration script, but is included
  426: for completeness.
  427: .PP
  428:  \fBserver-name "\fR\fIstring\fR\fB";\fR
  429: .PP
  430: The
  431: .B server-name
  432: statement specifies the name of the boot server name to use.   This is
  433: also not used by the standard client configuration script.
  434: .PP
  435:  \fBoption\fR \fIoption-declaration\fR\fB;\fR
  436: .PP
  437: The
  438: .B option
  439: statement is used to specify the value of an option supplied by the
  440: server, or, in the case of predefined leases declared in
  441: dhclient.conf, the value that the user wishes the client configuration
  442: script to use if the predefined lease is used.
  443: .PP
  444:  \fBscript "\fIscript-name\fB";\fR
  445: .PP
  446: The
  447: .B script
  448: statement is used to specify the pathname of the dhcp client
  449: configuration script.  This script is used by the dhcp client to set
  450: each interface's initial configuration prior to requesting an address,
  451: to test the address once it has been offered, and to set the
  452: interface's final configuration once a lease has been acquired.   If
  453: no lease is acquired, the script is used to test predefined leases, if
  454: any, and also called once if no valid lease can be identified.   For
  455: more information, see
  456: .B dhclient-script(8).
  457: .PP
  458:  \fBvendor option space "\fIname\fB";\fR
  459: .PP
  460: The
  461: .B vendor option space
  462: statement is used to specify which option space should be used for
  463: decoding the vendor-encapsulate-options option if one is received.
  464: The \fIdhcp-vendor-identifier\fR can be used to request a specific
  465: class of vendor options from the server.   See
  466: .B dhcp-options(5)
  467: for details.
  468: .PP
  469:  \fBmedium "\fImedia setup\fB";\fR
  470: .PP
  471: The
  472: .B medium
  473: statement can be used on systems where network interfaces cannot
  474: automatically determine the type of network to which they are
  475: connected.  The media setup string is a system-dependent parameter
  476: which is passed to the dhcp client configuration script when
  477: initializing the interface.  On Unix and Unix-like systems, the
  478: argument is passed on the ifconfig command line when configuring the
  479: interface.
  480: .PP
  481: The dhcp client automatically declares this parameter if it uses a
  482: media type (see the
  483: .B media
  484: statement) when configuring the interface in order to obtain a lease.
  485: This statement should be used in predefined leases only if the network
  486: interface requires media type configuration.
  487: .PP
  488:  \fBrenew\fR \fIdate\fB;\fR
  489: .PP
  490:  \fBrebind\fR \fIdate\fB;\fR
  491: .PP
  492:  \fBexpire\fR \fIdate\fB;\fR
  493: .PP
  494: The \fBrenew\fR statement defines the time at which the dhcp client
  495: should begin trying to contact its server to renew a lease that it is
  496: using.   The \fBrebind\fR statement defines the time at which the dhcp
  497: client should begin to try to contact \fIany\fR dhcp server in order
  498: to renew its lease.   The \fBexpire\fR statement defines the time at
  499: which the dhcp client must stop using a lease if it has not been able
  500: to contact a server in order to renew it.
  501: .PP
  502: These declarations are automatically set in leases acquired by the
  503: DHCP client, but must also be configured in predefined leases - a
  504: predefined lease whose expiry time has passed will not be used by the
  505: DHCP client.
  506: .PP
  507: Dates are specified in one of two ways.  The software will output times in
  508: these two formats depending on if the \fBdb-time-format\fR configuration
  509: parameter has been set to \fIdefault\fR or \fIlocal\fR.
  510: .PP
  511: If it is set to \fIdefault\fR, then \fIdate\fR values appear as follows:
  512: .PP
  513:  \fI<weekday> <year>\fB/\fI<month>\fB/\fI<day>
  514: <hour>\fB:\fI<minute>\fB:\fI<second>\fR
  515: .PP
  516: The weekday is present to make it easy for a human to tell when a
  517: lease expires - it's specified as a number from zero to six, with zero
  518: being Sunday.  When declaring a predefined lease, it can always be
  519: specified as zero.  The year is specified with the century, so it
  520: should generally be four digits except for really long leases.  The
  521: month is specified as a number starting with 1 for January.  The day
  522: of the month is likewise specified starting with 1.  The hour is a
  523: number between 0 and 23, the minute a number between 0 and 59, and the
  524: second also a number between 0 and 59.
  525: .PP
  526: If the \fBdb-time-format\fR configuration was set to \fIlocal\fR, then
  527: the \fIdate\fR values appear as follows:
  528: .PP
  529:  \fBepoch\fR \fI<seconds-since-epoch>\fR\fB; #\fR \fI<day-name> <month-name>
  530: <day-number> <hours>\fR\fB:\fR\fI<minutes>\fR\fB:\fR\fI<seconds> <year>\fR
  531: .PP
  532: The \fIseconds-since-epoch\fR is as according to the system's local clock (often
  533: referred to as "unix time").  The \fB#\fR symbol supplies a comment that
  534: describes what actual time this is as according to the system's configured
  535: timezone, at the time the value was written.  It is provided only for human
  536: inspection, the epoch time is the only recommended value for machine
  537: inspection.
  538: .PP
  539: Note that when defining a static lease, one may use either time format one
  540: wishes, and need not include the comment or values after it.
  541: .PP
  542: If the time is infinite in duration, then the \fIdate\fR is \fBnever\fR
  543: instead of an actual date.
  544: .SH ALIAS DECLARATIONS
  545:  \fBalias { \fI declarations ... \fB}\fR
  546: .PP
  547: Some DHCP clients running TCP/IP roaming protocols may require that in
  548: addition to the lease they may acquire via DHCP, their interface also
  549: be configured with a predefined IP alias so that they can have a
  550: permanent IP address even while roaming.   The Internet Systems
  551: Consortium DHCP client doesn't support roaming with fixed addresses
  552: directly, but in order to facilitate such experimentation, the dhcp
  553: client can be set up to configure an IP alias using the
  554: .B alias
  555: declaration.
  556: .PP
  557: The alias declaration resembles a lease declaration, except that
  558: options other than the subnet-mask option are ignored by the standard
  559: client configuration script, and expiry times are ignored.  A typical
  560: alias declaration includes an interface declaration, a fixed-address
  561: declaration for the IP alias address, and a subnet-mask option
  562: declaration.   A medium statement should never be included in an alias
  563: declaration.
  564: .SH OTHER DECLARATIONS
  565:  \fBdb-time-format\fR [ \fIdefault\fR | \fIlocal\fR ] \fB;\fR
  566: .PP
  567: The \fBdb-time-format\fR option determines which of two output methods are
  568: used for printing times in leases files.  The \fIdefault\fR format provides
  569: day-and-time in UTC, whereas \fIlocal\fR uses a seconds-since-epoch to store
  570: the time value, and helpfully places a local timezone time in a comment on
  571: the same line.  The formats are described in detail in this manpage, whithin
  572: the LEASE DECLARATIONS section.
  573: .PP
  574:  \fBreject \fIcidr-ip-address\fR [\fB,\fR \fI...\fB \fIcidr-ip-address\fR ] \fB;\fR
  575: .PP
  576: The
  577: .B reject
  578: statement causes the DHCP client to reject offers from
  579: servers whose server identifier matches any of the specified hosts or
  580: subnets.  This can be used to avoid being configured by rogue or
  581: misconfigured dhcp servers, although it should be a last resort -
  582: better to track down the bad DHCP server and fix it.
  583: .PP
  584: The \fIcidr-ip-address\fR configuration type is of the
  585: form \fIip-address\fR[\fB/\fIprefixlen\fR], where \fIip-address\fR is a
  586: dotted quad IP address, and \fRprefixlen\fR is the CIDR prefix length of
  587: the subnet, counting the number of significant bits in the netmask starting
  588: from the leftmost end.  Example configuration syntax:
  589: .PP
  590: .I \fIreject\fR 192.168.0.0\fB/\fR16\fB,\fR 10.0.0.5\fB;\fR
  591: .RE
  592: .PP
  593: The above example would cause offers from any server identifier in the
  594: entire RFC 1918 "Class C" network 192.168.0.0/16, or the specific
  595: single address 10.0.0.5, to be rejected.
  596: .PP
  597:  \fBinterface "\fIname\fB" { \fIdeclarations ... \fB }
  598: .PP
  599: A client with more than one network interface may require different
  600: behaviour depending on which interface is being configured.   All
  601: timing parameters and declarations other than lease and alias
  602: declarations can be enclosed in an interface declaration, and those
  603: parameters will then be used only for the interface that matches the
  604: specified name.   Interfaces for which there is no interface
  605: declaration will use the parameters declared outside of any interface
  606: declaration, or the default settings.
  607: .PP
  608: .B Note well:
  609: ISC dhclient only maintains one list of interfaces, which is either
  610: determined at startup from command line arguments, or otherwise is
  611: autodetected.  If you supplied the list of interfaces on the command
  612: line, this configuration clause will add the named interface to the
  613: list in such a way that will cause it to be configured by DHCP.  Which
  614: may not be the result you had intended.  This is an undesirable side
  615: effect that will be addressed in a future release.
  616: .PP
  617:  \fBpseudo "\fIname\fR" "\fIreal-name\fB" { \fIdeclarations ... \fB }
  618: .PP
  619: Under some circumstances it can be useful to declare a pseudo-interface 
  620: and have the DHCP client acquire a configuration for that interface.
  621: Each interface that the DHCP client is supporting normally has a DHCP
  622: client state machine running on it to acquire and maintain its lease.
  623: A pseudo-interface is just another state machine running on the
  624: interface named \fIreal-name\fR, with its own lease and its own
  625: state.   If you use this feature, you must provide a client identifier
  626: for both the pseudo-interface and the actual interface, and the two
  627: identifiers must be different.   You must also provide a separate
  628: client script for the pseudo-interface to do what you want with the IP
  629: address.   For example:
  630: .PP
  631: .nf
  632: 	interface "ep0" {
  633: 		send dhcp-client-identifier "my-client-ep0";
  634: 	}
  635: 	pseudo "secondary" "ep0" {
  636: 		send dhcp-client-identifier "my-client-ep0-secondary";
  637: 		script "/etc/dhclient-secondary";
  638: 	}
  639: .fi
  640: .PP
  641: The client script for the pseudo-interface should not configure the
  642: interface up or down - essentially, all it needs to handle are the
  643: states where a lease has been acquired or renewed, and the states
  644: where a lease has expired.   See \fBdhclient-script(8)\fR for more
  645: information.
  646: .PP
  647:  \fBmedia "\fImedia setup\fB"\fI [ \fB, "\fImedia setup\fB", \fI... ]\fB;\fR
  648: .PP
  649: The
  650: .B media
  651: statement defines one or more media configuration parameters which may
  652: be tried while attempting to acquire an IP address.   The dhcp client
  653: will cycle through each media setup string on the list, configuring
  654: the interface using that setup and attempting to boot, and then trying
  655: the next one.   This can be used for network interfaces which aren't
  656: capable of sensing the media type unaided - whichever media type
  657: succeeds in getting a request to the server and hearing the reply is
  658: probably right (no guarantees).
  659: .PP
  660: The media setup is only used for the initial phase of address
  661: acquisition (the DHCPDISCOVER and DHCPOFFER packets).   Once an
  662: address has been acquired, the dhcp client will record it in its lease
  663: database and will record the media type used to acquire the address.
  664: Whenever the client tries to renew the lease, it will use that same
  665: media type.   The lease must expire before the client will go back to
  666: cycling through media types.
  667: .SH SAMPLE
  668: The following configuration file is used on a laptop running NetBSD
  669: 1.3.   The laptop has an IP alias of 192.5.5.213, and has one
  670: interface, ep0 (a 3com 3C589C).   Booting intervals have been
  671: shortened somewhat from the default, because the client is known to
  672: spend most of its time on networks with little DHCP activity.   The
  673: laptop does roam to multiple networks.
  674: 
  675: .nf
  676: 
  677: timeout 60;
  678: retry 60;
  679: reboot 10;
  680: select-timeout 5;
  681: initial-interval 2;
  682: reject 192.33.137.209;
  683: 
  684: interface "ep0" {
  685:     send host-name "andare.fugue.com";
  686:     send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
  687:     send dhcp-lease-time 3600;
  688:     supersede domain-search "fugue.com", "rc.vix.com", "home.vix.com";
  689:     prepend domain-name-servers 127.0.0.1;
  690:     request subnet-mask, broadcast-address, time-offset, routers,
  691: 	    domain-name, domain-name-servers, host-name;
  692:     require subnet-mask, domain-name-servers;
  693:     script "CLIENTBINDIR/dhclient-script";
  694:     media "media 10baseT/UTP", "media 10base2/BNC";
  695: }
  696: 
  697: alias {
  698:   interface "ep0";
  699:   fixed-address 192.5.5.213;
  700:   option subnet-mask 255.255.255.255;
  701: }
  702: .fi
  703: This is a very complicated dhclient.conf file - in general, yours
  704: should be much simpler.   In many cases, it's sufficient to just
  705: create an empty dhclient.conf file - the defaults are usually fine.
  706: .SH SEE ALSO
  707: dhcp-options(5), dhcp-eval(5), dhclient.leases(5), dhcpd(8), dhcpd.conf(5),
  708: RFC2132, RFC2131.
  709: .SH AUTHOR
  710: .B dhclient(8)
  711: was written by Ted Lemon
  712: under a contract with Vixie Labs.   Funding
  713: for this project was provided by Internet Systems Consortium.
  714: Information about Internet Systems Consortium can be found at
  715: .B https://www.isc.org.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>