]> git.ipfire.org Git - thirdparty/dhcp.git/blame - server/dhcpd.8
- Merge changes between 3.0.3RC1 and 3.0.4-BETA-3 into HEAD (silence
[thirdparty/dhcp.git] / server / dhcpd.8
CommitLineData
08fe7cdb
TL
1.\" dhcpd.8
2.\"
88cd8aca 3.\" Copyright (c) 2004-2006 by Internet Systems Consortium, Inc. ("ISC")
98311e4b 4.\" Copyright (c) 1996-2003 by Internet Software Consortium
08fe7cdb 5.\"
98311e4b
DH
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.
08fe7cdb 9.\"
98311e4b
DH
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.
08fe7cdb 17.\"
98311e4b
DH
18.\" Internet Systems Consortium, Inc.
19.\" 950 Charter Street
20.\" Redwood City, CA 94063
21.\" <info@isc.org>
22.\" http://www.isc.org/
23.\"
24.\" This software has been written for Internet Systems Consortium
69c620f2 25.\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
98311e4b 26.\" To learn more about Internet Systems Consortium, see
69c620f2
TL
27.\" ``http://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''.
f49473ba 30.\"
88cd8aca 31.\" $Id: dhcpd.8,v 1.23 2006/02/24 23:16:31 dhankins Exp $
f49473ba 32.\"
ee0cda4d
TL
33.TH dhcpd 8
34.SH NAME
5e6b52dc 35dhcpd - Dynamic Host Configuration Protocol Server
ee0cda4d
TL
36.SH SYNOPSIS
37.B dhcpd
38[
39.B -p
40.I port
41]
d27562c7
TL
42[
43.B -f
44]
45[
5e6b52dc
TL
46.B -d
47]
48[
6edb572b
TL
49.B -q
50]
51[
897065dc
TL
52.B -t
53|
54.B -T
55]
56[
e2ac5814
TL
57.B -cf
58.I config-file
59]
60[
61.B -lf
62.I lease-file
63]
64[
88cd8aca
DH
65.B -pf
66.I pid-file
67]
68[
51fe0cce
TL
69.B -tf
70.I trace-output-file
71]
72[
73.B -play
74.I trace-playback-file
75]
76[
d27562c7
TL
77.I if0
78[
79.I ...ifN
80]
81]
ee0cda4d 82.SH DESCRIPTION
98311e4b 83The Internet Systems Consortium DHCP Server, dhcpd, implements the
5e6b52dc
TL
84Dynamic Host Configuration Protocol (DHCP) and the Internet Bootstrap
85Protocol (BOOTP). DHCP allows hosts on a TCP/IP network to request
86and be assigned IP addresses, and also to discover information about
87the network to which they are attached. BOOTP provides similar
88functionality, with certain restrictions.
f21a7b4a
TL
89.SH CONTRIBUTIONS
90.PP
46a65180
TL
91This software is free software. At various times its development has
92been underwritten by various organizations, including the ISC and
93Vixie Enterprises. The development of 3.0 has been funded almost
94entirely by Nominum, Inc.
95.PP
96At this point development is being shepherded by Ted Lemon, and hosted
97by the ISC, but the future of this project depends on you. If you
98have features you want, please consider implementing them.
ee0cda4d
TL
99.SH OPERATION
100.PP
08fe7cdb
TL
101The DHCP protocol allows a host which is unknown to the network
102administrator to be automatically assigned a new IP address out of a
103pool of IP addresses for its network. In order for this to work, the
104network administrator allocates address pools in each subnet and
ee0cda4d
TL
105enters them into the dhcpd.conf(5) file.
106.PP
08fe7cdb 107On startup, dhcpd reads the
ee0cda4d 108.IR dhcpd.conf
5e6b52dc
TL
109file and stores a list of available addresses on each subnet in
110memory. When a client requests an address using the DHCP protocol,
111dhcpd allocates an address for it. Each client is assigned a lease,
112which expires after an amount of time chosen by the administrator (by
113default, one day). Before leases expire, the clients to which leases
114are assigned are expected to renew them in order to continue to use
115the addresses. Once a lease has expired, the client to which that
116lease was assigned is no longer permitted to use the leased IP
117address.
ee0cda4d 118.PP
08fe7cdb 119In order to keep track of leases across system reboots and server
ee0cda4d
TL
120restarts, dhcpd keeps a list of leases it has assigned in the
121dhcpd.leases(5) file. Before dhcpd grants a lease to a host, it
122records the lease in this file and makes sure that the contents of the
123file are flushed to disk. This ensures that even in the event of a
124system crash, dhcpd will not forget about a lease that it has
125assigned. On startup, after reading the dhcpd.conf file, dhcpd
126reads the dhcpd.leases file to refresh its memory about what leases
127have been assigned.
128.PP
129New leases are appended to the end of the dhcpd.leases
08fe7cdb 130file. In order to prevent the file from becoming arbitrarily large,
ee0cda4d
TL
131from time to time dhcpd creates a new dhcpd.leases file from its
132in-core lease database. Once this file has been written to disk, the
133old file is renamed
134.IR dhcpd.leases~ ,
135and the new file is renamed dhcpd.leases. If the system crashes in
136the middle of this process, whichever dhcpd.leases file remains will
137contain all the lease information, so there is no need for a special
138crash recovery process.
139.PP
5e6b52dc
TL
140BOOTP support is also provided by this server. Unlike DHCP, the BOOTP
141protocol does not provide a protocol for recovering
142dynamically-assigned addresses once they are no longer needed. It is
143still possible to dynamically assign addresses to BOOTP clients, but
144some administrative process for reclaiming addresses is required. By
145default, leases are granted to BOOTP clients in perpetuity, although
146the network administrator may set an earlier cutoff date or a shorter
147lease length for BOOTP leases if that makes sense.
148.PP
149BOOTP clients may also be served in the old standard way, which is to
150simply provide a declaration in the dhcpd.conf file for each
151BOOTP client, permanently assigning an address to each client.
ee0cda4d
TL
152.PP
153Whenever changes are made to the dhcpd.conf file, dhcpd must be
154restarted. To restart dhcpd, send a SIGTERM (signal 15) to the
155process ID contained in
5e6b52dc
TL
156.IR RUNDIR/dhcpd.pid ,
157and then re-invoke dhcpd. Because the DHCP server database is not as
158lightweight as a BOOTP database, dhcpd does not automatically restart
159itself when it sees a change to the dhcpd.conf file.
4e19a6df
TL
160.PP
161Note: We get a lot of complaints about this. We realize that it would
162be nice if one could send a SIGHUP to the server and have it reload
163the database. This is not technically impossible, but it would
164require a great deal of work, our resources are extremely limited, and
165they can be better spent elsewhere. So please don't complain about
166this on the mailing list unless you're prepared to fund a project to
167implement this feature, or prepared to do it yourself.
d27562c7
TL
168.SH COMMAND LINE
169.PP
5e6b52dc
TL
170The names of the network interfaces on which dhcpd should listen for
171broadcasts may be specified on the command line. This should be done
172on systems where dhcpd is unable to identify non-broadcast interfaces,
173but should not be required on other systems. If no interface names
174are specified on the command line dhcpd will identify all network
98311e4b 175interfaces which are up, eliminating non-broadcast interfaces if
5e6b52dc 176possible, and listen for DHCP broadcasts on each interface.
d27562c7 177.PP
5e6b52dc
TL
178If dhcpd should listen on a port other than the standard (port 67),
179the
d27562c7 180.B -p
5e6b52dc
TL
181flag may used. It should be followed by the udp port number on which
182dhcpd should listen. This is mostly useful for debugging purposes.
d27562c7 183.PP
5e6b52dc
TL
184To run dhcpd as a foreground process, rather than allowing it to run
185as a daemon in the background, the
d27562c7 186.B -f
5e6b52dc
TL
187flag should be specified. This is useful when running dhcpd under a
188debugger, or when running it out of inittab on System V systems.
189.PP
190To have dhcpd log to the standard error descriptor, specify the
191.B -d
192flag. This can be useful for debugging, and also at sites where a
193complete log of all dhcp activity must be kept but syslogd is not
194reliable or otherwise cannot be used. Normally, dhcpd will log all
195output using the syslog(3) function with the log facility set to
196LOG_DAEMON.
e2ac5814
TL
197.PP
198Dhcpd can be made to use an alternate configuration file with the
199.B -cf
88cd8aca 200flag, an alternate lease file with the
e2ac5814 201.B -lf
88cd8aca
DH
202flag, or an alternate pid file with the
203.B -pf
e2ac5814
TL
204flag. Because of the importance of using the same lease database at
205all times when running dhcpd in production, these options should be
206used \fBonly\fR for testing lease files or database files in a
207non-production environment.
6edb572b
TL
208.PP
209When starting dhcpd up from a system startup script (e.g., /etc/rc),
210it may not be desirable to print out the entire copyright message on
211startup. To avoid printing this message, the
212.B -q
213flag may be specified.
897065dc
TL
214.PP
215The DHCP server reads two files on startup: a configuration file, and
216a lease database. If the
217.B -t
218flag is specified, the server will simply test the configuration file
219for correct syntax, but will not attempt to perform any network
220operations. This can be used to test the a new configuration file
221automatically before installing it.
222.PP
223The
224.B -T
225flag can be used to test the lease database file in a similar way.
51fe0cce
TL
226.PP
227The \fB-tf\fR and \fB-play\fR options allow you to specify a file into
228which the entire startup state of the server and all the transactions
229it processes are either logged or played back from. This can be
230useful in submitting bug reports - if you are getting a core dump
231every so often, you can start the server with the \fB-tf\fR option and
232then, when the server dumps core, the trace file will contain all the
233transactions that led up to it dumping core, so that the problem can
234be easily debugged with \fB-play\fR.
235.PP
236The \fB-play\fR option must be specified with an alternate lease file,
237using the \fB-lf\fR switch, so that the DHCP server doesn't wipe out
238your existing lease file with its test data. The DHCP server will
239refuse to operate in playback mode unless you specify an alternate
240lease file.
ee0cda4d 241.SH CONFIGURATION
98311e4b 242The syntax of the dhcpd.conf(5) file is discussed separately. This
ee0cda4d 243section should be used as an overview of the configuration process,
ba7ed239 244and the dhcpd.conf(5) documentation should be consulted for detailed
ee0cda4d
TL
245reference information.
246.PP
247.SH Subnets
248dhcpd needs to know the subnet numbers and netmasks of all subnets for
249which it will be providing service. In addition, in order to
250dynamically allocate addresses, it must be assigned one or more ranges
251of addresses on each subnet which it can in turn assign to client
252hosts as they boot. Thus, a very simple configuration providing DHCP
08fe7cdb
TL
253support might look like this:
254.nf
255.sp 1
5e6b52dc 256 subnet 239.252.197.0 netmask 255.255.255.0 {
08fe7cdb 257 range 239.252.197.10 239.252.197.250;
98311e4b 258 }
08fe7cdb 259.fi
ee0cda4d 260.PP
08fe7cdb
TL
261Multiple address ranges may be specified like this:
262.nf
263.sp 1
5e6b52dc
TL
264 subnet 239.252.197.0 netmask 255.255.255.0 {
265 range 239.252.197.10 239.252.197.107;
08fe7cdb 266 range 239.252.197.113 239.252.197.250;
5e6b52dc 267 }
08fe7cdb 268.fi
ee0cda4d 269.PP
08fe7cdb
TL
270If a subnet will only be provided with BOOTP service and no dynamic
271address assignment, the range clause can be left out entirely, but the
272subnet statement must appear.
ee0cda4d
TL
273.PP
274.SH Lease Lengths
08fe7cdb
TL
275DHCP leases can be assigned almost any length from zero seconds to
276infinity. What lease length makes sense for any given subnet, or for
277any given installation, will vary depending on the kinds of hosts
278being served.
ee0cda4d 279.PP
08fe7cdb
TL
280For example, in an office environment where systems are added from
281time to time and removed from time to time, but move relatively
282infrequently, it might make sense to allow lease times of a month of
283more. In a final test environment on a manufacturing floor, it may
284make more sense to assign a maximum lease length of 30 minutes -
285enough time to go through a simple test procedure on a network
286appliance before packaging it up for delivery.
ee0cda4d 287.PP
08fe7cdb
TL
288It is possible to specify two lease lengths: the default length that
289will be assigned if a client doesn't ask for any particular lease
290length, and a maximum lease length. These are specified as clauses
291to the subnet command:
292.nf
293.sp 1
5e6b52dc
TL
294 subnet 239.252.197.0 netmask 255.255.255.0 {
295 range 239.252.197.10 239.252.197.107;
296 default-lease-time 600;
08fe7cdb 297 max-lease-time 7200;
98311e4b 298 }
08fe7cdb 299.fi
ee0cda4d 300.PP
08fe7cdb
TL
301This particular subnet declaration specifies a default lease time of
302600 seconds (ten minutes), and a maximum lease time of 7200 seconds
303(two hours). Other common values would be 86400 (one day), 604800
304(one week) and 2592000 (30 days).
ee0cda4d 305.PP
08fe7cdb
TL
306Each subnet need not have the same lease\(emin the case of an office
307environment and a manufacturing environment served by the same DHCP
308server, it might make sense to have widely disparate values for
309default and maximum lease times on each subnet.
ee0cda4d
TL
310.SH BOOTP Support
311Each BOOTP client must be explicitly declared in the dhcpd.conf
08fe7cdb
TL
312file. A very basic client declaration will specify the client
313network interface's hardware address and the IP address to assign to
314that client. If the client needs to be able to load a boot file from
315the server, that file's name must be specified. A simple bootp
316client declaration might look like this:
317.nf
318.sp 1
fc5aedc9
TL
319 host haagen {
320 hardware ethernet 08:00:2b:4c:59:23;
5e6b52dc 321 fixed-address 239.252.197.9;
08fe7cdb 322 filename "/tftpboot/haagen.boot";
5e6b52dc 323 }
08fe7cdb 324.fi
ee0cda4d 325.SH Options
08fe7cdb
TL
326DHCP (and also BOOTP with Vendor Extensions) provide a mechanism
327whereby the server can provide the client with information about how
328to configure its network interface (e.g., subnet mask), and also how
329the client can access various network services (e.g., DNS, IP routers,
330and so on).
ee0cda4d 331.PP
08fe7cdb
TL
332These options can be specified on a per-subnet basis, and, for BOOTP
333clients, also on a per-client basis. In the event that a BOOTP
334client declaration specifies options that are also specified in its
335subnet declaration, the options specified in the client declaration
98311e4b 336take precedence. A reasonably complete DHCP configuration might
08fe7cdb
TL
337look something like this:
338.nf
339.sp 1
5e6b52dc
TL
340 subnet 239.252.197.0 netmask 255.255.255.0 {
341 range 239.252.197.10 239.252.197.250;
342 default-lease-time 600 max-lease-time 7200;
343 option subnet-mask 255.255.255.0;
344 option broadcast-address 239.252.197.255;
345 option routers 239.252.197.1;
346 option domain-name-servers 239.252.197.2, 239.252.197.3;
08fe7cdb 347 option domain-name "isc.org";
5e6b52dc 348 }
08fe7cdb 349.fi
ee0cda4d 350.PP
08fe7cdb
TL
351A bootp host on that subnet that needs to be in a different domain and
352use a different name server might be declared as follows:
353.nf
354.sp 1
ba7ed239
TL
355 host haagen {
356 hardware ethernet 08:00:2b:4c:59:23;
5e6b52dc
TL
357 fixed-address 239.252.197.9;
358 filename "/tftpboot/haagen.boot";
359 option domain-name-servers 192.5.5.1;
08fe7cdb 360 option domain-name "vix.com";
5e6b52dc 361 }
08fe7cdb 362.fi
ee0cda4d 363.PP
5e6b52dc
TL
364A more complete description of the dhcpd.conf file syntax is provided
365in dhcpd.conf(5).
90e0ef94
TL
366.SH OMAPI
367The DHCP server provides the capability to modify some of its
368configuration while it is running, without stopping it, modifying its
369database files, and restarting it. This capability is currently
370provided using OMAPI - an API for manipulating remote objects. OMAPI
371clients connect to the server using TCP/IP, authenticate, and can then
372examine the server's current status and make changes to it.
373.PP
374Rather than implementing the underlying OMAPI protocol directly, user
375programs should use the dhcpctl API or OMAPI itself. Dhcpctl is a
376wrapper that handles some of the housekeeping chores that OMAPI does
377not do automatically. Dhcpctl and OMAPI are documented in \fBdhcpctl(3)\fR
378and \fBomapi(3)\fR.
379.PP
380OMAPI exports objects, which can then be examined and modified. The
381DHCP server exports the following objects: lease, host,
382failover-state and group. Each object has a number of methods that
383are provided: lookup, create, and destroy. In addition, it is
384possible to look at attributes that are stored on objects, and in some
385cases to modify those attributes.
386.SH THE LEASE OBJECT
387Leases can't currently be created or destroyed, but they can be looked
388up to examine and modify their state.
389.PP
390Leases have the following attributes:
391.PP
392.B state \fIinteger\fR lookup, examine
393.RS 0.5i
394.nf
3951 = free
3962 = active
3973 = expired
3984 = released
3995 = abandoned
4006 = reset
4017 = backup
4028 = reserved
4039 = bootp
404.fi
405.RE
406.PP
407.B ip-address \fIdata\fR lookup, examine
408.RS 0.5i
409The IP address of the lease.
410.RE
411.PP
412.B dhcp-client-identifier \fIdata\fR lookup, examine, update
413.RS 0.5i
414The
415client identifier that the client used when it acquired the lease.
416Not all clients send client identifiers, so this may be empty.
417.RE
418.PP
419.B client-hostname \fIdata\fR examine, update
420.RS 0.5i
421The value the client sent in the host-name option.
422.RE
423.PP
424.B host \fIhandle\fR examine
425.RS 0.5i
426the host declaration associated with this lease, if any.
427.RE
428.PP
429.B subnet \fIhandle\fR examine
430.RS 0.5i
431the subnet object associated with this lease (the subnet object is not
432currently supported).
433.RE
434.PP
435.B pool \fIhandle\fR examine
436.RS 0.5i
437the pool object associted with this lease (the pool object is not
438currently supported).
439.RE
440.PP
441.B billing-class \fIhandle\fR examine
442.RS 0.5i
443the handle to the class to which this lease is currently billed, if
444any (the class object is not currently supported).
445.RE
446.PP
447.B hardware-address \fIdata\fR examine, update
448.RS 0.5i
449the hardware address (chaddr) field sent by the client when it
450acquired its lease.
451.RE
452.PP
453.B hardware-type \fIinteger\fR examine, update
454.RS 0.5i
455the type of the network interface that the client reported when it
456acquired its lease.
457.RE
458.PP
459.B ends \fItime\fR examine
460.RS 0.5i
461the time when the lease's current state ends, as understood by the
462client.
463.RE
464.PP
465.B tstp \fItime\fR examine
466.RS 0.5i
467the time when the lease's current state ends, as understood by the
468server.
469.RE
470.B tsfp \fItime\fR examine
471.RS 0.5i
88cd8aca
DH
472the adjusted time when the lease's current state ends, as understood by
473the failover peer (if there is no failover peer, this value is
474undefined). Generally this value is only adjusted for expired, released,
475or reset leases while the server is operating in partner-down state, and
476otherwise is simply the value supplied by the peer.
477.RE
478.B atsfp \fItime\fR examine
479.RS 0.5i
480the actual tsfp value sent from the peer. This value is forgotten when a
481lease binding state change is made, to facillitate retransmission logic.
90e0ef94
TL
482.RE
483.PP
484.B cltt \fItime\fR examine
485.RS 0.5i
486The time of the last transaction with the client on this lease.
487.RE
488.SH THE HOST OBJECT
489Hosts can be created, destroyed, looked up, examined and modified.
490If a host declaration is created or deleted using OMAPI, that
491information will be recorded in the dhcpd.leases file. It is
492permissible to delete host declarations that are declared in the
493dhcpd.conf file.
494.PP
495Hosts have the following attributes:
496.PP
497.B name \fIdata\fR lookup, examine, modify
498.RS 0.5i
499the name of the host declaration. This name must be unique among all
500host declarations.
501.RE
502.PP
503.B group \fIhandle\fR examine, modify
504.RS 0.5i
505the named group associated with the host declaration, if there is one.
506.RE
507.PP
508.B hardware-address \fIdata\fR lookup, examine, modify
509.RS 0.5i
510the link-layer address that will be used to match the client, if any.
511Only valid if hardware-type is also present.
512.RE
513.PP
514.B hardware-type \fIinteger\fR lookup, examine, modify
515.RS 0.5i
516the type of the network interface that will be used to match the
517client, if any. Only valid if hardware-address is also present.
518.RE
519.PP
520.B dhcp-client-identifier \fIdata\fR lookup, examine, modify
521.RS 0.5i
522the dhcp-client-identifier option that will be used to match the
523client, if any.
524.RE
525.PP
526.B ip-address \fIdata\fR examine, modify
527.RS 0.5i
528a fixed IP address which is reserved for a DHCP client that matches
529this host declaration. The IP address will only be assigned to the
530client if it is valid for the network segment to which the client is
531connected.
532.RE
533.PP
534.B statements \fIdata\fR modify
535.RS 0.5i
536a list of statements in the format of the dhcpd.conf file that will be
537executed whenever a message from the client is being processed.
538.RE
539.PP
540.B known \fIinteger\fR examine, modify
541.RS 0.5i
542if nonzero, indicates that a client matching this host declaration
543will be treated as \fIknown\fR in pool permit lists. If zero, the
544client will not be treated as known.
545.RE
546.SH THE GROUP OBJECT
547Named groups can be created, destroyed, looked up, examined and
548modified. If a group declaration is created or deleted using OMAPI,
549that information will be recorded in the dhcpd.leases file. It is
550permissible to delete group declarations that are declared in the
551dhcpd.conf file.
552.PP
553Named groups currently can only be associated with
554hosts - this allows one set of statements to be efficiently attached
555to more than one host declaration.
556.PP
557Groups have the following attributes:
558.PP
559.B name \fIdata\fR
560.RS 0.5i
561the name of the group. All groups that are created using OMAPI must
562have names, and the names must be unique among all groups.
563.RE
564.PP
565.B statements \fIdata\fR
566.RS 0.5i
567a list of statements in the format of the dhcpd.conf file that will be
568executed whenever a message from a client whose host declaration
569references this group is processed.
570.RE
d758ad8c
TL
571.SH THE CONTROL OBJECT
572The control object allows you to shut the server down. If the server
573is doing failover with another peer, it will make a clean transition
574into the shutdown state and notify its peer, so that the peer can go
575into partner down, and then record the "recover" state in the lease
576file so that when the server is restarted, it will automatically
577resynchronize with its peer.
578.PP
579On shutdown the server will also attempt to cleanly shut down all
580OMAPI connections. If these connections do not go down cleanly after
581five seconds, they are shut down pre-emptively. It can take as much
582as 25 seconds from the beginning of the shutdown process to the time
583that the server actually exits.
584.PP
585To shut the server down, open its control object and set the state
586attribute to 2.
0db87765
TL
587.SH THE FAILOVER-STATE OBJECT
588The failover-state object is the object that tracks the state of the
589failover protocol as it is being managed for a given failover peer.
590The failover object has the following attributes (please see
591.B dhcpd.conf (5)
592for explanations about what these attributes mean):
593.PP
594.B name \fIdata\fR examine
595.RS 0.5i
596Indicates the name of the failover peer relationship, as described in
597the server's \fBdhcpd.conf\fR file.
598.RE
599.PP
600.B partner-address \fIdata\fR examine
601.RS 0.5i
602Indicates the failover partner's IP address.
603.RE
604.PP
605.B local-address \fIdata\fR examine
606.RS 0.5i
607Indicates the IP address that is being used by the DHCP server for
608this failover pair.
609.RE
610.PP
611.B partner-port \fIdata\fR examine
612.RS 0.5i
613Indicates the TCP port on which the failover partner is listening for
614failover protocol connections.
615.RE
616.PP
617.B local-port \fIdata\fR examine
618.RS 0.5i
619Indicates the TCP port on which the DHCP server is listening for
620failover protocol connections for this failover pair.
621.RE
622.PP
623.B max-outstanding-updates \fIinteger\fR examine
624.RS 0.5i
625Indicates the number of updates that can be outstanding and
626unacknowledged at any given time, in this failover relationship.
627.RE
628.PP
629.B mclt \fIinteger\fR examine
630.RS 0.5i
631Indicates the maximum client lead time in this failover relationship.
632.RE
633.PP
634.B load-balance-max-secs \fIinteger\fR examine
635.RS 0.5i
636Indicates the maximum value for the secs field in a client request
637before load balancing is bypassed.
638.RE
639.PP
640.B load-balance-hba \fIdata\fR examine
641.RS 0.5i
642Indicates the load balancing hash bucket array for this failover
643relationship.
644.RE
645.PP
646.B local-state \fIinteger\fR examine, modify
647.RS 0.5i
648Indicates the present state of the DHCP server in this failover
649relationship. Possible values for state are:
650.RE
651.RS 1i
652.PP
653.nf
6541 - partner down
6552 - normal
6563 - communications interrupted
6574 - resolution interrupted
6585 - potential conflict
6596 - recover
6607 - recover done
6618 - shutdown
6629 - paused
66310 - startup
66411 - recover wait
665.fi
666.RE
667.PP
668.RS 0.5i
669In general it is not a good idea to make changes to this state.
670However, in the case that the failover partner is known to be down, it
671can be useful to set the DHCP server's failover state to partner
672down. At this point the DHCP server will take over service of the
673failover partner's leases as soon as possible, and will give out
674normal leases, not leases that are restricted by MCLT. If you do put
675the DHCP server into the partner-down when the other DHCP server is
676not in the partner-down state, but is not reachable, IP address
677assignment conflicts are possible, even likely. Once a server has
678been put into partner-down mode, its failover partner must not be
679brought back online until communication is possible between the two
680servers.
681.RE
682.PP
683.B partner-state \fIinteger\fR examine
684.RS 0.5i
685Indicates the present state of the failover partner.
686.RE
687.PP
688.B local-stos \fIinteger\fR examine
689.RS 0.5i
690Indicates the time at which the DHCP server entered its present state
691in this failover relationship.
692.RE
693.PP
694.B partner-stos \fIinteger\fR examine
695.RS 0.5i
696Indicates the time at which the failover partner entered its present state.
697.RE
698.PP
699.B hierarchy \fIinteger\fR examine
700.RS 0.5i
701Indicates whether the DHCP server is primary (0) or secondary (1) in
702this failover relationship.
703.RE
704.PP
705.B last-packet-sent \fIinteger\fR examine
706.RS 0.5i
707Indicates the time at which the most recent failover packet was sent
708by this DHCP server to its failover partner.
709.RE
710.PP
711.B last-timestamp-received \fIinteger\fR examine
712.RS 0.5i
713Indicates the timestamp that was on the failover message most recently
714received from the failover partner.
715.RE
716.PP
717.B skew \fIinteger\fR examine
718.RS 0.5i
719Indicates the skew between the failover partner's clock and this DHCP
720server's clock
721.RE
722.PP
723.B max-response-delay \fIinteger\fR examine
724.RS 0.5i
725Indicates the time in seconds after which, if no message is received
726from the failover partner, the partner is assumed to be out of
727communication.
728.RE
729.PP
730.B cur-unacked-updates \fIinteger\fR examine
731.RS 0.5i
732Indicates the number of update messages that have been received from
733the failover partner but not yet processed.
734.RE
ee0cda4d
TL
735.SH FILES
736.B ETCDIR/dhcpd.conf, DBDIR/dhcpd.leases, RUNDIR/dhcpd.pid,
737.B DBDIR/dhcpd.leases~.
738.SH SEE ALSO
66b01364 739dhclient(8), dhcrelay(8), dhcpd.conf(5), dhcpd.leases(5)
ee0cda4d
TL
740.SH AUTHOR
741.B dhcpd(8)
90e0ef94 742was originally written by Ted Lemon under a contract with Vixie Labs.
98311e4b 743Funding for this project was provided by Internet Systems
90e0ef94 744Consortium. Version 3 of the DHCP server was funded by Nominum, Inc.
98311e4b
DH
745Information about Internet Systems Consortium is available at
746.B http://www.isc.org/\fR.
747Information about Nominum can be found at \fBhttp://www.nominum.com/\fR.