Annotation of embedaddon/dhcp/client/dhclient.conf.5, revision 1.1

1.1     ! misho       1: .\"    $Id: dhclient.conf.5,v 1.22.64.7.6.1 2011-04-21 15:01:23 tomasz 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>