]> git.ipfire.org Git - thirdparty/dhcp.git/blob - server/dhcpd.conf.cat5
2b3cd63080f2cf49aa322e532495cf2e9dcf3ddd
[thirdparty/dhcp.git] / server / dhcpd.conf.cat5
1
2
3
4 dhcpd.conf(5) dhcpd.conf(5)
5
6
7 N\bNA\bAM\bME\bE
8 dhcpd.conf - dhcpd configuration file
9
10 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
11 The dhcpd.conf file contains configuration information for
12 _\bd_\bh_\bc_\bp_\bd_\b, the Internet Software Consortium DHCP Server.
13
14 The dhcpd.conf file is a free-form ASCII text file. It
15 is parsed by the recursive-descent parser built into
16 dhcpd. The file may contain extra tabs and newlines for
17 formatting purposes. Keywords in the file are case-insen­
18 sitive. Comments may be placed anywhere within the file
19 (except within quotes). Comments begin with the # char­
20 acter and end at the end of the line.
21
22 The file essentially consists of a list of statements.
23 Statements fall into two broad categories - parameters and
24 declarations.
25
26 Parameter statements either say how to do something (e.g.,
27 how long a lease to offer), whether to do something (e.g.,
28 should dhcpd provide addresses to unknown clients), or
29 what parameters to provide to the client (e.g., use gate­
30 way 220.177.244.7).
31
32 Declarations are used to describe the topology of the net­
33 work, to describe clients on the network, to provide
34 addresses that can be assigned to clients, or to apply a
35 group of parameters to a group of declarations. In any
36 group of parameters and declarations, all parameters must
37 be specified before any declarations which depend on those
38 parameters may be specified.
39
40 Declarations about network topology include the
41 _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk and the _\bs_\bu_\bb_\bn_\be_\bt declarations. If clients
42 on a subnet are to be assigned addresses dynamically, a
43 _\br_\ba_\bn_\bg_\be declaration must appear within the _\bs_\bu_\bb_\bn_\be_\bt declara­
44 tion. For clients with statically assigned addresses, or
45 for installations where only known clients will be served,
46 each such client must have a _\bh_\bo_\bs_\bt declaration. If param­
47 eters are to be applied to a group of declarations which
48 are not related strictly on a per-subnet basis, the _\bg_\br_\bo_\bu_\bp
49 declaration can be used.
50
51 For every subnet which will be served, and for every sub­
52 net to which the dhcp server is connected, there must be
53 one _\bs_\bu_\bb_\bn_\be_\bt declaration, which tells dhcpd how to recognize
54 that an address is on that subnet. A _\bs_\bu_\bb_\bn_\be_\bt declaration
55 is required for each subnet even if no addresses will be
56 dynamically allocated on that subnet.
57
58 Some installations have physical networks on which more
59 than one IP subnet operates. For example, if there is a
60 site-wide requirement that 8-bit subnet masks be used, but
61
62
63
64 1
65
66
67
68
69
70 dhcpd.conf(5) dhcpd.conf(5)
71
72
73 a department with a single physical ethernet network
74 expands to the point where it has more than 254 nodes, it
75 may be necessary to run two 8-bit subnets on the same eth­
76 ernet until such time as a new physical network can be
77 added. In this case, the _\bs_\bu_\bb_\bn_\be_\bt declarations for these
78 two networks may be enclosed in a _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk declara­
79 tion.
80
81 Some sites may have departments which have clients on more
82 than one subnet, but it may be desirable to offer those
83 clients a uniform set of parameters which are different
84 than what would be offered to clients from other depart­
85 ments on the same subnet. For clients which will be
86 declared explicitly with _\bh_\bo_\bs_\bt declarations, these declara­
87 tions can be enclosed in a _\bg_\br_\bo_\bu_\bp declaration along with
88 the parameters which are common to that department. For
89 clients whose addresses will be dynamically assigned,
90 there is currently no way to group parameter assignments
91 other than by network topology.
92
93 When a client is to be booted, its boot parameters are
94 determined by first consulting that client's _\bh_\bo_\bs_\bt declara­
95 tion (if any), then consulting the _\bg_\br_\bo_\bu_\bp declaration (if
96 any) which enclosed that _\bh_\bo_\bs_\bt declaration, then consulting
97 the _\bs_\bu_\bb_\bn_\be_\bt declaration for the subnet on which the client
98 is booting, then consulting the _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk declaration
99 (if any) containing that subnet, and finally consulting
100 the top-level parameters which may be specified outside of
101 any declaration.
102
103 When dhcpd tries to find a _\bh_\bo_\bs_\bt declaration for a client,
104 it first looks for a _\bh_\bo_\bs_\bt declaration which has a _\bf_\bi_\bx_\be_\bd_\b-
105 _\ba_\bd_\bd_\br_\be_\bs_\bs parameter which matches the subnet or shared net­
106 work on which the client is booting. If it doesn't find
107 any such entry, it then tries to find an entry which has
108 no _\bf_\bi_\bx_\be_\bd_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs parameter. If no such entry is found,
109 then dhcpd acts as if there is no entry in the dhcpd.conf
110 file for that client, even if there is an entry for that
111 client on a different subnet or shared network.
112
113 E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
114 A typical dhcpd.conf file will look something like this:
115
116 _\bg_\bl_\bo_\bb_\ba_\bl _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
117
118 shared-network ISC-BIGGIE {
119 _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
120 subnet 204.254.239.0 netmask 255.255.255.224 {
121 _\bs_\bu_\bb_\bn_\be_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
122 range 204.254.239.10 204.254.239.30;
123 }
124 subnet 204.254.239.32 netmask 255.255.255.224 {
125 _\bs_\bu_\bb_\bn_\be_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
126 range 204.254.239.42 204.254.239.62;
127
128
129
130 2
131
132
133
134
135
136 dhcpd.conf(5) dhcpd.conf(5)
137
138
139 }
140 }
141
142 subnet 204.254.239.64 netmask 255.255.255.224 {
143 _\bs_\bu_\bb_\bn_\be_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
144 range 204.254.239.74 204.254.239.94;
145 }
146
147 group {
148 _\bg_\br_\bo_\bu_\bp_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
149 host zappo.test.isc.org {
150 _\bh_\bo_\bs_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
151 }
152 host beppo.test.isc.org {
153 _\bh_\bo_\bs_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
154 }
155 host harpo.test.isc.org {
156 _\bh_\bo_\bs_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b._\b._\b.
157 }
158 }
159
160 Figure 1
161
162
163 Notice that at the beginning of the file, there's a place
164 for global parameters. These might be things like the
165 organization's domain name, the addresses of the name
166 servers (if they are common to the entire organization),
167 and so on. So, for example:
168
169 option domain-name "isc.org";
170 option domain-name-servers ns1.isc.org, ns2.isc.org;
171
172 Figure 2
173
174 As you can see in Figure 2, it's legal to specify host
175 addresses in parameters as domain names rather than as
176 numeric IP addresses. If a given hostname resolves to
177 more than one IP address (for example, if that host has
178 two ethernet interfaces), both addresses are supplied to
179 the client.
180
181 In Figure 1, you can see that both the shared-network
182 statement and the subnet statements can have parameters.
183 Let us say that the shared network _\bI_\bS_\bC_\b-_\bB_\bI_\bG_\bG_\bI_\bE supports an
184 entire department - perhaps the accounting department.
185 If accounting has its own domain, then a shared-network-
186 specific parameter might be:
187
188 option domain-name "accounting.isc.org";
189
190 All subnet declarations appearing in the shared-network
191 declaration would then have the domain-name option set to
192 "accounting.isc.org" instead of just "isc.org".
193
194
195
196 3
197
198
199
200
201
202 dhcpd.conf(5) dhcpd.conf(5)
203
204
205 The most obvious reason for having subnet-specific parame­
206 ters as shown in Figure 1 is that each subnet, of neces­
207 sity, has its own router. So for the first subnet, for
208 example, there should be something like:
209
210 option routers 204.254.239.1;
211
212 Note that the address here is specified numerically.
213 This is not required - if you have a different domain name
214 for each interface on your router, it's perfectly legiti­
215 mate to use the domain name for that interface instead of
216 the numeric address. However, in many cases there may be
217 only one domain name for all of a router's IP addresses,
218 and it would not be appropriate to use that name here.
219
220 In Figure 1 there is also a _\bg_\br_\bo_\bu_\bp statement, which pro­
221 vides common parameters for a set of three hosts - zappo,
222 beppo and harpo. As you can see, these hosts are all in
223 the test.isc.org domain, so it might make sense for a
224 group-specific parameter to override the domain name sup­
225 plied to these hosts:
226
227 option domain-name "test.isc.org";
228
229 Also, given the domain they're in, these are probably test
230 machines. If we wanted to test the DHCP leasing mecha­
231 nism, we might set the lease timeout somewhat shorter than
232 the default:
233
234 max-lease-time 120;
235 default-lease-time 120;
236
237 You may have noticed that while some parameters start with
238 the _\bo_\bp_\bt_\bi_\bo_\bn keyword, some do not. Parameters starting
239 with the _\bo_\bp_\bt_\bi_\bo_\bn keyword correspond to actual DHCP options,
240 while parameters that do not start with the option keyword
241 either control the behaviour of the DHCP server (e.g., how
242 long a lease dhcpd will give out), or specify client
243 parameters that are not optional in the DHCP protocol (for
244 example, server-name and filename).
245
246 In Figure 1, each host had _\bh_\bo_\bs_\bt_\b-_\bs_\bp_\be_\bc_\bi_\bf_\bi_\bc _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs.
247 These could include such things as the _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be option,
248 the name of a file to upload (the _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\b) _\ba_\bn_\bd
249 _\bt_\bh_\be _\ba_\bd_\bd_\br_\be_\bs_\bs _\bo_\bf _\bt_\bh_\be _\bs_\be_\br_\bv_\be_\br _\bf_\br_\bo_\bm _\bw_\bh_\bi_\bc_\bh _\bt_\bo _\bu_\bp_\bl_\bo_\ba_\bd _\bt_\bh_\be _\bf_\bi_\bl_\be
250 _\b(_\bt_\bh_\be _\bn_\be_\bx_\bt_\b-_\bs_\be_\br_\bv_\be_\br parameter). In general, any parameter
251 can appear anywhere that parameters are allowed, and will
252 be applied according to the scope in which the parameter
253 appears.
254
255 Imagine that you have a site with a lot of NCD X-Termi­
256 nals. These terminals come in a variety of models, and
257 you want to specify the boot files for each models. One
258 way to do this would be to have host declarations for each
259
260
261
262 4
263
264
265
266
267
268 dhcpd.conf(5) dhcpd.conf(5)
269
270
271 server and group them by model:
272
273 group {
274 filename "Xncd19r";
275 next-server ncd-booter;
276
277 host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }
278 host ncd4 { hardware ethernet 0:c0:c3:80:fc:32; }
279 host ncd8 { hardware ethernet 0:c0:c3:22:46:81; }
280 }
281
282 group {
283 filename "Xncd19c";
284 next-server ncd-booter;
285
286 host ncd2 { hardware ethernet 0:c0:c3:88:2d:81; }
287 host ncd3 { hardware ethernet 0:c0:c3:00:14:11; }
288 }
289
290 group {
291 filename "XncdHMX";
292 next-server ncd-booter;
293
294 host ncd1 { hardware ethernet 0:c0:c3:11:90:23; }
295 host ncd4 { hardware ethernet 0:c0:c3:91:a7:8; }
296 host ncd8 { hardware ethernet 0:c0:c3:cc:a:8f; }
297 }
298
299 R\bRE\bEF\bFE\bER\bRE\bEN\bNC\bCE\bE:\b: D\bDE\bEC\bCL\bLA\bAR\bRA\bAT\bTI\bIO\bON\bNS\bS
300 T\bTh\bhe\be _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
301
302 s\bsh\bha\bar\bre\bed\bd-\b-n\bne\bet\btw\bwo\bor\brk\bk _\bn_\ba_\bm_\be {\b{
303 [ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs ]
304 [ _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn_\bs ]
305 }\b}
306
307 The _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk statement is used to inform the DHCP
308 server that some IP subnets actually share the same physi­
309 cal network. Any subnets in a shared network should be
310 declared within a _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk statement. Parameters
311 specified in the _\bs_\bh_\ba_\br_\be_\bd_\b-_\bn_\be_\bt_\bw_\bo_\br_\bk statement will be used
312 when booting clients on those subnets unless parameters
313 provided at the subnet or host level override them. If
314 any subnet in a shared network has addresses available for
315 dynamic allocation, those addresses are collected into a
316 common pool for that shared network and assigned to
317 clients as needed. There is no way to distinguish on
318 which subnet of a shared network a client should boot.
319
320 _\bN_\ba_\bm_\be should be the name of the shared network. This name
321 is used when printing debugging messages, so it should be
322 descriptive for the shared network. The name may have
323 the syntax of a valid domain name (although it will never
324 be used as such), or it may be any arbitrary name,
325
326
327
328 5
329
330
331
332
333
334 dhcpd.conf(5) dhcpd.conf(5)
335
336
337 enclosed in quotes.
338
339 T\bTh\bhe\be _\bs_\bu_\bb_\bn_\be_\bt s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
340
341 s\bsu\bub\bbn\bne\bet\bt _\bs_\bu_\bb_\bn_\be_\bt_\b-_\bn_\bu_\bm_\bb_\be_\br n\bne\bet\btm\bma\bas\bsk\bk _\bn_\be_\bt_\bm_\ba_\bs_\bk {\b{
342 [ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs ]
343 [ _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn_\bs ]
344 }\b}
345
346 The _\bs_\bu_\bb_\bn_\be_\bt statement is used to provide dhcpd with enough
347 information to tell whether or not an IP address is on
348 that subnet. It may also be used to provide subnet-spe­
349 cific parameters and to specify what addresses may be
350 dynamically allocated to clients booting on that subnet.
351 Such addresses are specified using the _\br_\ba_\bn_\bg_\be declaration.
352
353 The _\bs_\bu_\bb_\bn_\be_\bt_\b-_\bn_\bu_\bm_\bb_\be_\br should be an IP address or domain name
354 which resolves to the subnet number of the subnet being
355 described. The _\bn_\be_\bt_\bm_\ba_\bs_\bk should be an IP address or domain
356 name which resolves to the subnet mask of the subnet being
357 described. The subnet number, together with the netmask,
358 are sufficient to determine whether any given IP address
359 is on the specified subnet.
360
361 Although a netmask must be given with every subnet decla­
362 ration, it is recommended that if there is any variance in
363 subnet masks at a site, a subnet-mask option statement be
364 used in each subnet declaration to set the desired subnet
365 mask, since any subnet-mask option statement will override
366 the subnet mask declared in the subnet statement.
367
368 T\bTh\bhe\be _\br_\ba_\bn_\bg_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
369
370 r\bra\ban\bng\bge\be [ d\bdy\byn\bna\bam\bmi\bic\bc-\b-b\bbo\boo\bot\btp\bp ] _\bl_\bo_\bw_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs [ _\bh_\bi_\bg_\bh_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs];\b;
371
372 For any subnet on which addresses will be assigned dynami­
373 cally, there must be at least one _\br_\ba_\bn_\bg_\be statement. The
374 range statement gives the lowest and highest IP addresses
375 in a range. All IP addresses in the range should be in
376 the subnet in which the _\br_\ba_\bn_\bg_\be statement is declared. The
377 _\bd_\by_\bn_\ba_\bm_\bi_\bc_\b-_\bb_\bo_\bo_\bt_\bp flag may be specified if addresses in the
378 specified range may be dynamically assigned to BOOTP
379 clients as well as DHCP clients. When specifying a sin­
380 gle address, _\bh_\bi_\bg_\bh_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs can be omitted.
381
382 T\bTh\bhe\be _\bh_\bo_\bs_\bt s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
383
384 h\bho\bos\bst\bt _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be {
385 [ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs ]
386 [ _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn_\bs ]
387 }\b}
388
389 There must be at least one h\bho\bos\bst\bt statement for every BOOTP
390 client that is to be served. h\bho\bos\bst\bt statements may also be
391
392
393
394 6
395
396
397
398
399
400 dhcpd.conf(5) dhcpd.conf(5)
401
402
403 specified for DHCP clients, although this is not required
404 unless booting is only enabled for known hosts.
405
406 If it is desirable to be able to boot a DHCP or BOOTP
407 client on more than one subnet with fixed addresses, more
408 than one address may be specified in the _\bf_\bi_\bx_\be_\bd_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs
409 parameter, or more than one h\bho\bos\bst\bt statement may be speci­
410 fied.
411
412 If client-specific boot parameters must change based on
413 the network to which the client is attached, then multiple
414 h\bho\bos\bst\bt statements should be used.
415
416 If a client is to be booted using a fixed address if it's
417 possible, but should be allocated a dynamic address other­
418 wise, then a h\bho\bos\bst\bt statement must be specified without a
419 f\bfi\bix\bxe\bed\bd-\b-a\bad\bdd\bdr\bre\bes\bss\bs clause. _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be should be a name identify­
420 ing the host. If a _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be option is not specified for
421 the host, _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be is used.
422
423 _\bH_\bo_\bs_\bt declarations are matched to actual DHCP or BOOTP
424 clients by matching the dhcp-client-identifier option
425 specified in the _\bh_\bo_\bs_\bt declaration to the one supplied by
426 the client, or, if the _\bh_\bo_\bs_\bt declaration or the client does
427 not provide a dhcp-client-identifier option, by matching
428 the _\bh_\ba_\br_\bd_\bw_\ba_\br_\be parameter in the _\bh_\bo_\bs_\bt declaration to the net­
429 work hardware address supplied by the client. BOOTP
430 clients do not normally provide a _\bd_\bh_\bc_\bp_\b-_\bc_\bl_\bi_\be_\bn_\bt_\b-_\bi_\bd_\be_\bn_\bt_\bi_\bf_\bi_\be_\br,
431 so the hardware address must be used for all clients that
432 may boot using the BOOTP protocol.
433
434 T\bTh\bhe\be _\bg_\br_\bo_\bu_\bp s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
435
436 g\bgr\bro\bou\bup\bp {
437 [ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs ]
438 [ _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn_\bs ]
439 }\b}
440
441 The group statement is used simply to apply one or more
442 parameters to a group of declarations. It can be used to
443 group hosts, shared networks, subnets, or even other
444 groups.
445
446 R\bRE\bEF\bFE\bER\bRE\bEN\bNC\bCE\bE:\b: A\bAL\bLL\bLO\bOW\bW a\ban\bnd\bd D\bDE\bEN\bNY\bY
447 The _\ba_\bl_\bl_\bo_\bw and _\bd_\be_\bn_\by statements can be used to control the
448 behaviour of dhcpd to various sorts of requests.
449
450
451 T\bTh\bhe\be _\bu_\bn_\bk_\bn_\bo_\bw_\bn_\b-_\bc_\bl_\bi_\be_\bn_\bt_\bs k\bke\bey\byw\bwo\bor\brd\bd
452
453 a\bal\bll\blo\bow\bw u\bun\bnk\bkn\bno\bow\bwn\bn-\b-c\bcl\bli\bie\ben\bnt\bts\bs;\b;
454 d\bde\ben\bny\by u\bun\bnk\bkn\bno\bow\bwn\bn-\b-c\bcl\bli\bie\ben\bnt\bts\bs;\b;
455
456 The u\bun\bnk\bkn\bno\bow\bwn\bn-\b-c\bcl\bli\bie\ben\bnt\bts\bs flag is used to tell dhcpd whether or
457
458
459
460 7
461
462
463
464
465
466 dhcpd.conf(5) dhcpd.conf(5)
467
468
469 not to dynamically assign addresses to unknown clients.
470 Dynamic address assignment to unknown clients is a\bal\bll\blo\bow\bwed
471 by default.
472
473 T\bTh\bhe\be _\bb_\bo_\bo_\bt_\bp k\bke\bey\byw\bwo\bor\brd\bd
474
475 a\bal\bll\blo\bow\bw b\bbo\boo\bot\btp\bp;\b;
476 d\bde\ben\bny\by b\bbo\boo\bot\btp\bp;\b;
477
478 The b\bbo\boo\bot\btp\bp flag is used to tell dhcpd whether or not to
479 respond to bootp queries. Bootp queries are a\bal\bll\blo\bow\bwed by
480 default.
481
482 T\bTh\bhe\be _\bb_\bo_\bo_\bt_\bi_\bn_\bg k\bke\bey\byw\bwo\bor\brd\bd
483
484 a\bal\bll\blo\bow\bw b\bbo\boo\bot\bti\bin\bng\bg;\b;
485 d\bde\ben\bny\by b\bbo\boo\bot\bti\bin\bng\bg;\b;
486
487 The b\bbo\boo\bot\bti\bin\bng\bg flag is used to tell dhcpd whether or not to
488 respond to queries from a particular client. This keyword
489 only has meaning when it appears in a host declaration.
490 By default, booting is a\bal\bll\blo\bow\bwed, but if it is disabled for
491 a particular client, then that client will not be able to
492 get and address from the DHCP server.
493
494 R\bRE\bEF\bFE\bER\bRE\bEN\bNC\bCE\bE:\b: P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
495 T\bTh\bhe\be _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b-_\bl_\be_\ba_\bs_\be_\b-_\bt_\bi_\bm_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
496
497 d\bde\bef\bfa\bau\bul\blt\bt-\b-l\ble\bea\bas\bse\be-\b-t\bti\bim\bme\be _\bt_\bi_\bm_\be;\b;
498
499 _\bT_\bi_\bm_\be should be the length in seconds that will be assigned
500 to a lease if the client requesting the lease does not ask
501 for a specific expiration time.
502
503 T\bTh\bhe\be _\bm_\ba_\bx_\b-_\bl_\be_\ba_\bs_\be_\b-_\bt_\bi_\bm_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
504
505 m\bma\bax\bx-\b-l\ble\bea\bas\bse\be-\b-t\bti\bim\bme\be _\bt_\bi_\bm_\be;\b;
506
507 _\bT_\bi_\bm_\be should be the maximum length in seconds that will be
508 assigned to a lease. The only exception to this is that
509 Dynamic BOOTP lease lengths, which are not specified by
510 the client, are not limited by this maximum.
511
512 T\bTh\bhe\be _\bm_\bi_\bn_\b-_\bl_\be_\ba_\bs_\be_\b-_\bt_\bi_\bm_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
513
514 m\bmi\bin\bn-\b-l\ble\bea\bas\bse\be-\b-t\bti\bim\bme\be _\bt_\bi_\bm_\be;\b;
515
516 _\bT_\bi_\bm_\be should be the minimum length in seconds that will be
517 assigned to a lease.
518
519 T\bTh\bhe\be _\bm_\bi_\bn_\b-_\bs_\be_\bc_\bs s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
520
521 m\bmi\bin\bn-\b-s\bse\bec\bcs\bs _\bs_\be_\bc_\bo_\bn_\bd_\bs;\b;
522
523
524
525
526 8
527
528
529
530
531
532 dhcpd.conf(5) dhcpd.conf(5)
533
534
535 _\bS_\be_\bc_\bo_\bn_\bd_\bs should be the minimum number of seconds since a
536 client began trying to acquire a new lease before the DHCP
537 server will respond to its request. The number of seconds
538 is based on what the client reports, and the maximum value
539 that the client can report is 255 seconds. Generally,
540 setting this to one will result in the DHCP server not
541 responding to the client's first request, but always
542 responding to its second request.
543
544 This can be used to set up a secondary DHCP server which
545 never offers an address to a client until the primary
546 server has been given a chance to do so. If the primary
547 server is down, the client will bind to the secondary
548 server, but otherwise clients should always bind to the
549 primary. Note that this does not, by itself, permit a
550 primary server and a secondary server to share a pool of
551 dynamically-allocatable addresses.
552
553 T\bTh\bhe\be _\bh_\ba_\br_\bd_\bw_\ba_\br_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
554
555 h\bha\bar\brd\bdw\bwa\bar\bre\be _\bh_\ba_\br_\bd_\bw_\ba_\br_\be_\b-_\bt_\by_\bp_\be _\bh_\ba_\br_\bd_\bw_\ba_\br_\be_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs;\b;
556
557 In order for a BOOTP client to be recognized, its network
558 hardware address must be declared using a _\bh_\ba_\br_\bd_\bw_\ba_\br_\be clause
559 in the _\bh_\bo_\bs_\bt statement. _\bh_\ba_\br_\bd_\bw_\ba_\br_\be_\b-_\bt_\by_\bp_\be must be the name of
560 a physical hardware interface type. Currently, only the
561 e\bet\bth\bhe\ber\brn\bne\bet\bt and t\bto\bok\bke\ben\bn-\b-r\bri\bin\bng\bg types are recognized, although
562 support for a f\bfd\bdd\bdi\bi hardware type (and others) would also
563 be desirable. The _\bh_\ba_\br_\bd_\bw_\ba_\br_\be_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs should be a set of
564 hexadecimal octets (numbers from 0 through ff) seperated
565 by colons. The _\bh_\ba_\br_\bd_\bw_\ba_\br_\be_\bf_\bR _\bs_\bt_\ba_\bt_\be_\bm_\be_\bn_\bt _\bm_\ba_\by _\ba_\bl_\bs_\bo _\bb_\be _\bu_\bs_\be_\bd _\bf_\bo_\br
566 _\bD_\bH_\bC_\bP _\bc_\bl_\bi_\be_\bn_\bt_\bs_\b.
567
568 T\bTh\bhe\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
569
570 f\bfi\bil\ble\ben\bna\bam\bme\be "\b"_\bf_\bi_\bl_\be_\bn_\ba_\bm_\be"\b";\b;
571
572 The _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be statement can be used to specify the name of
573 the initial boot file which is to be loaded by a client.
574 The _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be should be a filename recognizable to whatever
575 file transfer protocol the client can be expected to use
576 to load the file.
577
578 T\bTh\bhe\be _\bs_\be_\br_\bv_\be_\br_\b-_\bn_\ba_\bm_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
579
580 s\bse\ber\brv\bve\ber\br-\b-n\bna\bam\bme\be "\b"_\bn_\ba_\bm_\be"\b";\b;
581
582 The _\bs_\be_\br_\bv_\be_\br_\b-_\bn_\ba_\bm_\be statement can be used to inform the client
583 of the name of the server from which it is booting. _\bN_\ba_\bm_\be
584 should be the name that will be provided to the client.
585
586 T\bTh\bhe\be _\bn_\be_\bx_\bt_\b-_\bs_\be_\br_\bv_\be_\br s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
587
588 n\bne\bex\bxt\bt-\b-s\bse\ber\brv\bve\ber\br _\bs_\be_\br_\bv_\be_\br_\b-_\bn_\ba_\bm_\be;\b;
589
590
591
592 9
593
594
595
596
597
598 dhcpd.conf(5) dhcpd.conf(5)
599
600
601 The _\bn_\be_\bx_\bt_\b-_\bs_\be_\br_\bv_\be_\br statement is used to specify the host
602 address of the server from which the initial boot file
603 (specified in the _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be statement) is to be loaded.
604 _\bS_\be_\br_\bv_\be_\br_\b-_\bn_\ba_\bm_\be should be a numeric IP address or a domain
605 name. If no _\bn_\be_\bx_\bt_\b-_\bs_\be_\br_\bv_\be_\br parameter applies to a given
606 client, the DHCP server's IP address is used.
607
608 T\bTh\bhe\be _\bf_\bi_\bx_\be_\bd_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
609
610 f\bfi\bix\bxe\bed\bd-\b-a\bad\bdd\bdr\bre\bes\bss\bs _\ba_\bd_\bd_\br_\be_\bs_\bs [,\b, _\ba_\bd_\bd_\br_\be_\bs_\bs ... ];\b;
611
612 The _\bf_\bi_\bx_\be_\bd_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs statement is used to assign one or more
613 fixed IP addresses to a client. It should only appear in
614 a _\bh_\bo_\bs_\bt declaration. If more than one address is supplied,
615 then when the client boots, it will be assigned the
616 address which corresponds to the network on which it is
617 booting. If none of the addresses in the _\bf_\bi_\bx_\be_\bd_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs
618 statement are on the network on which the client is boot­
619 ing, that client will not match the _\bh_\bo_\bs_\bt declaration con­
620 taining that _\bf_\bi_\bx_\be_\bd_\b-_\ba_\bd_\bd_\br_\be_\bs_\bs statement. Each _\ba_\bd_\bd_\br_\be_\bs_\bs should
621 be either an IP address or a domain name which resolves to
622 one or more IP addresses.
623
624 T\bTh\bhe\be _\bd_\by_\bn_\ba_\bm_\bi_\bc_\b-_\bb_\bo_\bo_\bt_\bp_\b-_\bl_\be_\ba_\bs_\be_\b-_\bc_\bu_\bt_\bo_\bf_\bf s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
625
626 d\bdy\byn\bna\bam\bmi\bic\bc-\b-b\bbo\boo\bot\btp\bp-\b-l\ble\bea\bas\bse\be-\b-c\bcu\but\bto\bof\bff\bf _\bd_\ba_\bt_\be;\b;
627
628 The _\bd_\by_\bn_\ba_\bm_\bi_\bc_\b-_\bb_\bo_\bo_\bt_\bp_\b-_\bl_\be_\ba_\bs_\be_\b-_\bc_\bu_\bt_\bo_\bf_\bf statement sets the ending
629 time for all leases assigned dynamically to BOOTP clients.
630 Because BOOTP clients do not have any way of renewing
631 leases, and don't know that their leases could expire, by
632 default dhcpd assignes infinite leases to all BOOTP
633 clients. However, it may make sense in some situations to
634 set a cutoff date for all BOOTP leases - for example, the
635 end of a school term, or the time at night when a facility
636 is closed and all machines are required to be powered off.
637
638 _\bD_\ba_\bt_\be should be the date on which all assigned BOOTP leases
639 will end. The date is specified in the form:
640
641 W YYYY/MM/DD HH:MM:SS
642
643 W is the day of the week expressed as a number from zero
644 (Sunday) to six (Saturday). YYYY is the year, including
645 the century. MM is the month expressed as a number from 1
646 to 12. DD is the day of the month, counting from 1. HH
647 is the hour, from zero to 23. MM is the minute and SS is
648 the second. The time is always in Greenwich Mean Time
649 (GMT), not local time.
650
651 T\bTh\bhe\be _\bd_\by_\bn_\ba_\bm_\bi_\bc_\b-_\bb_\bo_\bo_\bt_\bp_\b-_\bl_\be_\ba_\bs_\be_\b-_\bl_\be_\bn_\bg_\bt_\bh s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
652
653 d\bdy\byn\bna\bam\bmi\bic\bc-\b-b\bbo\boo\bot\btp\bp-\b-l\ble\bea\bas\bse\be-\b-l\ble\ben\bng\bgt\bth\bh _\bl_\be_\bn_\bg_\bt_\bh;\b;
654
655
656
657
658 10
659
660
661
662
663
664 dhcpd.conf(5) dhcpd.conf(5)
665
666
667 The _\bd_\by_\bn_\ba_\bm_\bi_\bc_\b-_\bb_\bo_\bo_\bt_\bp_\b-_\bl_\be_\ba_\bs_\be_\b-_\bl_\be_\bn_\bg_\bt_\bh statement is used to set
668 the length of leases dynamically assigned to BOOTP
669 clients. At some sites, it may be possible to assume
670 that a lease is no longer in use if its holder has not
671 used BOOTP or DHCP to get its address within a certain
672 time period. The period is specified in _\bl_\be_\bn_\bg_\bt_\bh as a num­
673 ber of seconds. If a client reboots using BOOTP during
674 the timeout period, the lease duration is reset to _\bl_\be_\bn_\bg_\bt_\bh,
675 so a BOOTP client that boots frequently enough will never
676 lose its lease. Needless to say, this parameter should be
677 adjusted with extreme caution.
678
679 T\bTh\bhe\be _\bg_\be_\bt_\b-_\bl_\be_\ba_\bs_\be_\b-_\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be_\bs s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
680
681 g\bge\bet\bt-\b-l\ble\bea\bas\bse\be-\b-h\bho\bos\bst\btn\bna\bam\bme\bes\bs _\bf_\bl_\ba_\bg;\b;
682
683 The _\bg_\be_\bt_\b-_\bl_\be_\ba_\bs_\be_\b-_\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be_\bs statement is used to tell dhcpd
684 whether or not to look up the domain name corresponding to
685 the IP address of each address in the lease pool and use
686 that address for the DHCP _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be option. If _\bf_\bl_\ba_\bg is
687 true, then this lookup is done for all addresses in the
688 current scope. By default, or if _\bf_\bl_\ba_\bg is false, no
689 lookups are done.
690
691 T\bTh\bhe\be _\bu_\bs_\be_\b-_\bh_\bo_\bs_\bt_\b-_\bd_\be_\bc_\bl_\b-_\bn_\ba_\bm_\be_\bs s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
692
693 u\bus\bse\be-\b-h\bho\bos\bst\bt-\b-d\bde\bec\bcl\bl-\b-n\bna\bam\bme\bes\bs _\bf_\bl_\ba_\bg;\b;
694
695 If the _\bu_\bs_\be_\b-_\bh_\bo_\bs_\bt_\b-_\bd_\be_\bc_\bl_\b-_\bn_\ba_\bm_\be_\bs parameter is true in a given
696 scope, then for every host declaration within that scope,
697 the name provided for the host declaration will be sup­
698 plied to the client as its hostname. So, for example,
699
700 group {
701 use-host-decl-names on;
702
703 host joe {
704 hardware ethernet 08:00:2b:4c:29:32;
705 fixed-address joe.fugue.com;
706 }
707 }
708
709 is equivalent to
710
711 host joe {
712 hardware ethernet 08:00:2b:4c:29:32;
713 fixed-address joe.fugue.com;
714 option host-name "joe";
715 }
716
717 An _\bo_\bp_\bt_\bi_\bo_\bn _\bh_\bo_\bs_\bt_\b-_\bn_\ba_\bm_\be statement within a host declaration
718 will override the use of the name in the host declaration.
719
720 T\bTh\bhe\be _\ba_\bu_\bt_\bh_\bo_\br_\bi_\bt_\ba_\bt_\bi_\bv_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
721
722
723
724 11
725
726
727
728
729
730 dhcpd.conf(5) dhcpd.conf(5)
731
732
733 a\bau\but\bth\bho\bor\bri\bit\bta\bat\bti\biv\bve\be;\b;
734
735 n\bno\bot\bt a\bau\but\bth\bho\bor\bri\bit\bta\bat\bti\biv\bve\be;\b;
736
737 The DHCP server will normally assume that the configura­
738 tion information about a given network segment is known to
739 be correct and is authoritative. So if a client requests
740 an IP address on a given network segment that the server
741 knows is not valid for that segment, the server will
742 respond with a DHCPNAK message, causing the client to for­
743 get its IP address and try to get a new one.
744
745 If a DHCP server is being configured by somebody who is
746 not the network administrator and who therefore does not
747 wish to assert this level of authority, then the statement
748 "not authoritative" should be written in the appropriate
749 scope in the configuration file.
750
751 Usually, writing n\bno\bot\bt a\bau\but\bth\bho\bor\bri\bit\bta\bat\bti\biv\bve\be;\b; at the top level of
752 the file should be sufficient. However, if a DHCP server
753 is to be set up so that it is aware of some networks for
754 which it is authoritative and some networks for which it
755 is not, it may be more appropriate to declare authority on
756 a per-network-segment basis.
757
758 Note that the most specific scope for which the concept of
759 authority makes any sense is the physical network segment
760 - either a shared-network statement or a subnet statement
761 that is not contained within a shared-network statement.
762 It is not meaningful to specify that the server is author­
763 itative for some subnets within a shared network, but not
764 authoritative for others, nor is it meaningful to specify
765 that the server is authoritative for some host declara­
766 tions and not others.
767
768 T\bTh\bhe\be _\bu_\bs_\be_\b-_\bl_\be_\ba_\bs_\be_\b-_\ba_\bd_\bd_\br_\b-_\bf_\bo_\br_\b-_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b-_\br_\bo_\bu_\bt_\be s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
769
770 u\bus\bse\be-\b-l\ble\bea\bas\bse\be-\b-a\bad\bdd\bdr\br-\b-f\bfo\bor\br-\b-d\bde\bef\bfa\bau\bul\blt\bt-\b-r\bro\bou\but\bte\be _\bf_\bl_\ba_\bg;\b;
771
772 If the _\bu_\bs_\be_\b-_\bl_\be_\ba_\bs_\be_\b-_\ba_\bd_\bd_\br_\b-_\bf_\bo_\br_\b-_\bd_\be_\bf_\ba_\bu_\bl_\bt_\b-_\br_\bo_\bu_\bt_\be parameter is true
773 in a given scope, then instead of sending the value speci­
774 fied in the routers option (or sending no value at all),
775 the IP address of the lease being assigned is sent to the
776 client. This supposedly causes Win95 machines to ARP for
777 all IP addresses, which can be helpful if your router is
778 configured for proxy ARP.
779
780 T\bTh\bhe\be _\bs_\be_\br_\bv_\be_\br_\b-_\bi_\bd_\be_\bn_\bt_\bi_\bf_\bi_\be_\br s\bst\bta\bat\bte\bem\bme\ben\bnt\bt
781
782 s\bse\ber\brv\bve\ber\br-\b-i\bid\bde\ben\bnt\bti\bif\bfi\bie\ber\br _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be;\b;
783
784 The server-identifier statement can be used to define the
785 value that is sent in the DHCP Server Identifier option
786 for a given scope. The value specified m\bmu\bus\bst\bt be an IP
787
788
789
790 12
791
792
793
794
795
796 dhcpd.conf(5) dhcpd.conf(5)
797
798
799 address for the DHCP server, and must be reachable by all
800 clients served by a particular scope.
801
802 The use of the server-identifier statement is not recom­
803 mended - the only reason to use it is to force a value
804 other than the default value to be sent on occasions where
805 the default value would be incorrect. The default value
806 is the first IP address associated with the physical net­
807 work interface on which the request arrived.
808
809 The usual case where the _\bs_\be_\br_\bv_\be_\br_\b-_\bi_\bd_\be_\bn_\bt_\bi_\bf_\bi_\be_\br statement needs
810 to be sent is when a physical interface has more than one
811 IP address, and the one being sent by default isn't appro­
812 priate for some or all clients served by that interface.
813 Another common case is when an alias is defined for the
814 purpose of having a consistent IP address for the DHCP
815 server, and it is desired that the clients use this IP
816 address when contacting the server.
817
818 Supplying a value for the dhcp-server-identifier option is
819 equivalent to using the server-identifier statement.
820
821 R\bRE\bEF\bFE\bER\bRE\bEN\bNC\bCE\bE:\b: O\bOP\bPT\bTI\bIO\bON\bN S\bST\bTA\bAT\bTE\bEM\bME\bEN\bNT\bTS\bS
822 DHCP option statements are documented in the d\bdh\bhc\bcp\bp-\b-
823 o\bop\bpt\bti\bio\bon\bns\bs(\b(5\b5)\b) manual page.
824
825 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
826 dhcpd.conf(5), dhcpd.leases(5), RFC2132, RFC2131.
827
828 A\bAU\bUT\bTH\bHO\bOR\bR
829 d\bdh\bhc\bcp\bpd\bd(\b(8\b8)\b) was written by Ted Lemon <mellon@vix.com> under a
830 contract with Vixie Labs. Funding for this project was
831 provided by the Internet Software Corporation. Informa­
832 tion about the Internet Software Consortium can be found
833 at h\bht\btt\btp\bp:\b:/\b//\b/w\bww\bww\bw.\b.i\bis\bsc\bc.\b.o\bor\brg\bg/\b/i\bis\bsc\bc.\b.
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856 13
857
858