Annotation of embedaddon/dhcp/server/dhcpd.leases.5, revision 1.1

1.1     ! misho       1: .\"    dhcpd.leases.5
        !             2: .\"
        !             3: .\" Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
        !             4: .\" Copyright (c) 1996-2003 by Internet Software Consortium
        !             5: .\"
        !             6: .\" Permission to use, copy, modify, and distribute this software for any
        !             7: .\" purpose with or without fee is hereby granted, provided that the above
        !             8: .\" copyright notice and this permission notice appear in all copies.
        !             9: .\"
        !            10: .\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
        !            11: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            12: .\" MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
        !            13: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            14: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            15: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
        !            16: .\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        !            17: .\"
        !            18: .\"   Internet Systems Consortium, Inc.
        !            19: .\"   950 Charter Street
        !            20: .\"   Redwood City, CA 94063
        !            21: .\"   <info@isc.org>
        !            22: .\"   https://www.isc.org/
        !            23: .\"
        !            24: .\" This software has been written for Internet Systems Consortium
        !            25: .\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
        !            26: .\" To learn more about Internet Systems Consortium, see
        !            27: .\" ``https://www.isc.org/''.  To learn more about Vixie Enterprises,
        !            28: .\" see ``http://www.vix.com''.   To learn more about Nominum, Inc., see
        !            29: .\" ``http://www.nominum.com''.
        !            30: .\"
        !            31: .\" $Id: dhcpd.leases.5,v 1.12.8.3.10.2 2011-09-19 00:23:44 sar Exp $
        !            32: .\"
        !            33: .TH dhcpd.leases 5
        !            34: .SH NAME
        !            35: dhcpd.leases - DHCP client lease database
        !            36: .SH DESCRIPTION
        !            37: The Internet Systems Consortium DHCP Server keeps a persistent
        !            38: database of leases that it has assigned.  This database is a free-form
        !            39: ASCII file containing a series of lease declarations.  Every time a
        !            40: lease is acquired, renewed or released, its new value is recorded at
        !            41: the end of the lease file.  So if more than one declaration appears
        !            42: for a given lease, the last one in the file is the current one.
        !            43: .PP
        !            44: When dhcpd is first installed, there is no lease database.   However,
        !            45: dhcpd requires that a lease database be present before it will start.
        !            46: To make the initial lease database, just create an empty file called
        !            47: DBDIR/dhcpd.leases.   You can do this with:
        !            48: .PP
        !            49: .nf
        !            50:        touch DBDIR/dhcpd.leases
        !            51: .fi
        !            52: .PP
        !            53: In order to prevent the lease database from growing without bound, the
        !            54: file is rewritten from time to time.   First, a temporary lease
        !            55: database is created and all known leases are dumped to it.   Then, the
        !            56: old lease database is renamed DBDIR/dhcpd.leases~.   Finally, the
        !            57: newly written lease database is moved into place.
        !            58: .SH FORMAT
        !            59: Lease descriptions are stored in a format that is parsed by the same
        !            60: recursive descent parser used to read the
        !            61: .B dhcpd.conf(5)
        !            62: and
        !            63: .B dhclient.conf(5)
        !            64: files.  Lease files can contain lease declarations, and also group and
        !            65: subgroup declarations, host declarations and failover state
        !            66: declarations.  Group, subgroup and host declarations are used to
        !            67: record objects created using the OMAPI protocol.
        !            68: .PP
        !            69: The lease file is a log-structured file - whenever a lease changes,
        !            70: the contents of that lease are written to the end of the file.   This
        !            71: means that it is entirely possible and quite reasonable for there to
        !            72: be two or more declarations of the same lease in the lease file at the
        !            73: same time.   In that case, the instance of that particular lease that
        !            74: appears last in the file is the one that is in effect.
        !            75: .PP
        !            76: Group, subgroup and host declarations in the lease file are handled in
        !            77: the same manner, except that if any of these objects are deleted, a
        !            78: \fIrubout\fR is written to the lease file.   This is just the same
        !            79: declaration, with \fB{ deleted; }\fR in the scope of the
        !            80: declaration.   When the lease file is rewritten, any such rubouts that
        !            81: can be eliminated are eliminated.   It is possible to delete a
        !            82: declaration in the \fBdhcpd.conf\fR file; in this case, the rubout
        !            83: can never be eliminated from the \fBdhcpd.leases\fR file.
        !            84: .SH THE LEASE DECLARATION
        !            85: .PP
        !            86: .B lease \fIip-address\fB { \fIstatements...\fB }
        !            87: .PP
        !            88: Each lease declaration includes the single IP address that has been
        !            89: leased to the client.   The statements within the braces define the
        !            90: duration of the lease and to whom it is assigned.
        !            91: .PP
        !            92: .nf
        !            93: .B starts \fIdate\fB;\fR
        !            94: .B ends \fIdate\fB;\fR
        !            95: .B tstp \fIdate\fB;\fR
        !            96: .B tsfp \fIdate\fB;\fR
        !            97: .B atsfp \fIdate\fB;\fR
        !            98: .B cltt \fIdate\fB;\fR
        !            99: .fi
        !           100: .PP
        !           101: The start and end time of a lease are recorded using the \fBstarts\fR
        !           102: and \fBends\fR statements.   The \fBtstp\fR statement is specified if
        !           103: the failover protocol is being used, and indicates what time the peer
        !           104: has been told the lease expires.   The \fBtsfp\fR statement is
        !           105: also specified if the failover protocol is being used, and indicates
        !           106: the lease expiry time that the peer has acknowledged.
        !           107: The \fBatsfp\fR statement is the actual time sent from the failover
        !           108: partner.
        !           109: The \fBcltt\fR statement is the client's last transaction time.
        !           110: .PP
        !           111: The \fIdate\fR is specified in two ways, depending on the configuration
        !           112: value for the \fBdb-time-format\fR parameter.  If it was set to \fIdefault\fR,
        !           113: then the \fIdate\fR fields appear as follows:
        !           114: .PP
        !           115: .I weekday year\fB/\fImonth\fB/\fIday hour\fB:\fIminute\fB:\fIsecond\fR
        !           116: .PP
        !           117: The weekday is present to make it easy for a human to tell when a
        !           118: lease expires - it's specified as a number from zero to six, with zero
        !           119: being Sunday.  The day of week is ignored on input.  The year is
        !           120: specified with the century, so it should generally be four digits
        !           121: except for really long leases.  The month is specified as a number
        !           122: starting with 1 for January.  The day of the month is likewise
        !           123: specified starting with 1.  The hour is a number between 0 and 23, the
        !           124: minute a number between 0 and 59, and the second also a number between
        !           125: 0 and 59.
        !           126: .PP
        !           127: Lease times are specified in Universal Coordinated Time (UTC), not in
        !           128: the local time zone.  There is probably nowhere in the world where the
        !           129: times recorded on a lease are always the same as wall clock times.  On
        !           130: most unix machines, you can display the current time in UTC by typing
        !           131: \fBdate -u\fR.
        !           132: .PP
        !           133: If the \fBdb-time-format\fR was configured to \fIlocal\fR, then
        !           134: the \fIdate\fR fields appear as follows:
        !           135: .PP
        !           136:  \fBepoch\fR \fI<seconds-since-epoch>\fR\fB; #\fR \fI<day-name> <month-name>
        !           137: <day-number> <hours>\fR\fB:\fR\fI<minutes>\fR\fB:\fR\fI<seconds> <year>\fR
        !           138: .PP
        !           139: The \fIseconds-since-epoch\fR is as according to the system's local clock (often
        !           140: referred to as "unix time").  The \fB#\fR symbol supplies a comment that
        !           141: describes what actual time this is as according to the system's configured
        !           142: timezone, at the time the value was written.  It is provided only for human
        !           143: inspection.
        !           144: .PP
        !           145: If a lease will never expire, \fIdate\fR is \fBnever\fR instead of an
        !           146: actual date.
        !           147: .PP
        !           148: .B hardware \fIhardware-type mac-address\fB;\fR
        !           149: .PP
        !           150: The hardware statement records the MAC address of the network
        !           151: interface on which the lease will be used.   It is specified as a
        !           152: series of hexadecimal octets, separated by colons.
        !           153: .PP
        !           154: .B uid \fIclient-identifier\fB;\fR
        !           155: .PP
        !           156: The \fBuid\fR statement records the client identifier used by the
        !           157: client to acquire the lease.   Clients are not required to send client
        !           158: identifiers, and this statement only appears if the client did in fact
        !           159: send one.   Client identifiers are normally an ARP type (1 for
        !           160: ethernet) followed by the MAC address, just like in the \fBhardware\fI
        !           161: statement, but this is not required.
        !           162: .PP
        !           163: The client identifier is recorded as a colon-separated hexadecimal
        !           164: list or as a quoted string.   If it is recorded as a quoted string and
        !           165: it contains one or more non-printable characters, those characters are
        !           166: represented as octal escapes - a backslash character followed by three
        !           167: octal digits.
        !           168: .PP
        !           169: .B client-hostname "\fIhostname\fB";\fR
        !           170: .PP
        !           171: Most DHCP clients will send their hostname in the \fIhost-name\fR
        !           172: option.  If a client sends its hostname in this way, the hostname is
        !           173: recorded on the lease with a \fBclient-hostname\fR statement.   This
        !           174: is not required by the protocol, however, so many specialized DHCP
        !           175: clients do not send a host-name option.
        !           176: .PP
        !           177: .B abandoned;
        !           178: .PP
        !           179: The \fBabandoned\fR statement indicates that the DHCP server has
        !           180: abandoned the lease.   In that case, the \fBabandoned\fR statement
        !           181: will be used to indicate that the lease should not be reassigned.
        !           182: Please see the \fBdhcpd.conf(5)\fR manual page for information about
        !           183: abandoned leases.
        !           184: .PP
        !           185: .B binding state \fIstate\fB;
        !           186: .B next binding state \fIstate\fB;
        !           187: .PP
        !           188: The \fBbinding state\fR statement declares the lease's binding state.
        !           189: When the DHCP server is not configured to use the failover protocol, a
        !           190: lease's binding state will be either \fBactive\fR or \fBfree\fR.   The
        !           191: failover protocol adds some additional transitional states, as well as
        !           192: the \fBbackup\fR state, which indicates that the lease is available
        !           193: for allocation by the failover secondary.
        !           194: .PP
        !           195: The \fBnext binding state\fR statement indicates what state the lease
        !           196: will move to when the current state expires.   The time when the
        !           197: current state expires is specified in the \fIends\fR statement.
        !           198: .PP
        !           199: .B option agent.circuit-id \fIstring\fR;
        !           200: .B option agent.remote-id \fIstring\fR;
        !           201: .PP
        !           202: The \fBoption agent.circuit-id\fR and \fBoption agent.remote-id\fR
        !           203: statements are used to record the circuit ID and remote ID options
        !           204: send by the relay agent, if the relay agent uses the \fIrelay agent
        !           205: information option\fR.   This allows these options to be used
        !           206: consistently in conditional evaluations even when the client is
        !           207: contacting the server directly rather than through its relay agent.
        !           208: .PP
        !           209: .B set \fIvariable\fB = \fIvalue\fB;
        !           210: .PP
        !           211: The \fBset\fR statement sets the value of a variable on the lease.
        !           212: For general information on variables, see the \fBdhcp-eval(5)\fR
        !           213: manual page.
        !           214: .PP
        !           215: .B The \fIddns-text\fB variable
        !           216: .PP
        !           217: The \fIddns-text\fR variable is used to record the value of the
        !           218: client's TXT identification record when the interim ddns update
        !           219: style has been used to update the DNS for a particular lease.
        !           220: .PP
        !           221: .B The \fIddns-fwd-name\fB variable
        !           222: .PP
        !           223: The \fIddns-fwd-name\fB variable records the value of the name used in
        !           224: updating the client's A record if a DDNS update has been successfully
        !           225: done by the server.   The server may also have used this name to
        !           226: update the client's PTR record.
        !           227: .PP
        !           228: .B The \fIddns-client-fqdn\fB variable
        !           229: .PP
        !           230: If the server is configured to use the interim ddns update style, and
        !           231: is also configured to allow clients to update their own fqdns, and the
        !           232: client did in fact update its own fqdn, then the
        !           233: \fIddns-client-fqdn\fR variable records the name that the client has
        !           234: indicated it is using.   This is the name that the server will have
        !           235: used to update the client's PTR record in this case.
        !           236: .PP
        !           237: .B The \fIddns-rev-name\fB variable
        !           238: .PP
        !           239: If the server successfully updates the client's PTR record, this
        !           240: variable will record the name that the DHCP server used for the PTR
        !           241: record.   The name to which the PTR record points will be either the
        !           242: \fIddns-fwd-name\fR or the \fIddns-client-fqdn\fR.
        !           243: .PP
        !           244: .B The \fIvendor-class-identifier\fB variable
        !           245: .PP
        !           246: The server retains the client-supplied Vendor Class Identifier option
        !           247: for informational purposes, and to render them in DHCPLEASEQUERY responses.
        !           248: .PP
        !           249: .B on \fIevents\fB { \fIstatements...\fB }
        !           250: The \fBon\fI statement records a list of statements to execute if a
        !           251: certain event occurs.   The possible events that can occur for an
        !           252: active lease are \fBrelease\fR and \fBexpiry\fR.   More than one event
        !           253: can be specified - if so, the events are separated by '|' characters.
        !           254: .PP
        !           255: .B bootp;
        !           256: .B reserved;
        !           257: These two statements are effectively flags.  If present, they indicate that
        !           258: the BOOTP and RESERVED failover flags, respectively, should be set.  BOOTP
        !           259: and RESERVED dynamic leases are treated differently than normal dynamic leases,
        !           260: as they may only be used by the client to which they are currently allocated.
        !           261: .RE
        !           262: .SH THE FAILOVER PEER STATE DECLARATION
        !           263: The state of any failover peering arrangements is also recorded in the
        !           264: lease file, using the \fBfailover peer\fR statement:
        !           265: .PP
        !           266: .nf
        !           267: .B failover peer "\fIname\fB" state {
        !           268: .B   my   state \fIstate\fB at \fIdate\fB;
        !           269: .B   peer state \fIstate\fB at \fIdate\fB;
        !           270: .B }
        !           271: .fi
        !           272: .PP
        !           273: The states of the peer named \fIname\fR is being recorded.   Both the
        !           274: state of the running server (\fBmy state\fR) and the other failover
        !           275: partner (\fIpeer state\fR) are recorded.   The following states are
        !           276: possible: \fBunknown-state\fR, \fBpartner-down\fR, \fBnormal\fR,
        !           277: \fBcommunications-interrupted\fR, \fBresolution-interrupted\fR,
        !           278: \fBpotential-conflict\fR, \fBrecover\fR, \fBrecover-done\fR,
        !           279: \fBshutdown\fR, \fBpaused\fR, and \fBstartup\fR.
        !           280: .RE
        !           281: .SH FILES
        !           282: .B DBDIR/dhcpd.leases DBDIR/dhcpd.leases~
        !           283: .SH SEE ALSO
        !           284: dhcpd(8), dhcp-options(5), dhcp-eval(5), dhcpd.conf(5), RFC2132, RFC2131.
        !           285: .SH AUTHOR
        !           286: .B dhcpd(8)
        !           287: was written by Ted Lemon
        !           288: under a contract with Vixie Labs.   Funding
        !           289: for this project was provided by Internet Systems Consortium.
        !           290: Information about Internet Systems Consortium can be found at:
        !           291: .B https://www.isc.org/

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