Print this page
7388 Support DHCP Client FQDN. Allow IAID/DUID for all v4.
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/man/man1m/dhcpagent.1m
+++ new/usr/src/man/man1m/dhcpagent.1m
1 1 '\" te
2 2 .\" Copyright (c) 1992-1996 Competitive Automation, Inc. Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
3 +.\" Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
3 4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
4 5 .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
5 6 .\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 -.TH DHCPAGENT 1M "Dec 11, 2015"
7 +.TH DHCPAGENT 1M "Nov 7, 2016"
7 8 .SH NAME
8 9 dhcpagent \- Dynamic Host Configuration Protocol (DHCP) client daemon
9 10 .SH SYNOPSIS
10 11 .LP
11 12 .nf
12 13 \fBdhcpagent\fR [\fB-a\fR] [ \fB-d\fR \fIn\fR] [\fB-f\fR] [\fB-v\fR]
13 14 .fi
14 15
15 16 .SH DESCRIPTION
16 17 .LP
17 18 \fBdhcpagent\fR implements the client half of the Dynamic Host Configuration
18 -Protocol \fB(DHCP)\fR for machines running Solaris software.
19 +Protocol \fB(DHCP)\fR for machines running illumos software.
19 20 .sp
20 21 .LP
21 22 The \fBdhcpagent\fR daemon obtains configuration parameters for the client
22 23 (local) machine's network interfaces from a \fBDHCP\fR server. These parameters
23 24 may include a lease on an \fBIP\fR address, which gives the client machine use
24 25 of the address for the period of the lease, which may be infinite. If the
25 26 client wishes to use the \fBIP\fR address for a period longer than the lease,
26 27 it must negotiate an extension using \fBDHCP\fR. For this reason,
27 28 \fBdhcpagent\fR must run as a daemon, terminating only when the client machine
28 29 powers down.
29 30 .sp
30 31 .LP
31 -For IPv4, the \fBdhcpagent\fR daemon is controlled through \fBifconfig\fR(1M)
32 -in much the same way that the \fBinit\fR(1M) daemon is controlled by
33 -\fBtelinit\fR(1M). \fBdhcpagent\fR can be invoked as a user process, albeit one
34 -requiring root privileges, but this is not necessary, as \fBifconfig\fR(1M)
35 -will start it automatically.
32 +For IPv4, the \fBdhcpagent\fR daemon is controlled through \fBipadm\fR(1M),
33 +\fBnwamcfg\fR(1M), or \fBifconfig\fR(1M) in much the same way that the
34 +\fBinit\fR(1M) daemon is controlled by \fBtelinit\fR(1M). \fBdhcpagent\fR can
35 +be invoked as a user process, albeit one requiring root privileges, but this is
36 +not necessary, as \fBipadm\fR(1M), \fBnwamcfg\fR(1M), or \fBifconfig\fR(1M)
37 +will start \fBdhcpagent\fR automatically.
36 38 .sp
37 39 .LP
38 40 For IPv6, the \fBdhcpagent\fR daemon is invoked automatically by
39 41 \fBin.ndpd\fR(1M). It can also be controlled through \fBifconfig\fR(1M), if
40 42 necessary.
41 43 .sp
42 44 .LP
43 45 When invoked, \fBdhcpagent\fR enters a passive state while it awaits
44 -instructions from \fBifconfig\fR(1M) or \fBin.ndpd\fR(1M). When it receives a
45 -command to configure an interface, it brings up the interface (if necessary)
46 -and starts DHCP. Once DHCP is complete, \fBdhcpagent\fR can be queried for the
47 -values of the various network parameters. In addition, if DHCP was used to
48 -obtain a lease on an address for an interface, it configures the address for
49 -use. When a lease is obtained, it is automatically renewed as necessary. If the
46 +instructions from \fBipadm\fR(1M), \fBnwamcfg\fR(1M), \fBifconfig\fR(1M), or
47 +\fBin.ndpd\fR(1M). When \fBdhcpagent\fR receives a command to configure an
48 +interface, \fBdhcpagent\fR brings up the interface (if necessary) and starts
49 +DHCP. Once DHCP is complete, \fBdhcpagent\fR can be queried for the values of
50 +the various network parameters. In addition, if DHCP was used to obtain a lease
51 +on an address for an interface, \fBdhcpagent\fR configures the address for use.
52 +When a lease is obtained, it is automatically renewed as necessary. If the
50 53 lease cannot be renewed, \fBdhcpagent\fR will unconfigure the address, but the
51 -interface will be left up and \fBdhcpagent\fR will attempt to acquire a new
52 -address lease. \fBdhcpagent\fR monitors system suspend/resume events and will
53 -validate any non-permanent leases with the DHCP server upon resume. Similarly,
54 +interface will be left up, and \fBdhcpagent\fR will attempt to acquire a new
55 +address lease.
56 +.sp
57 +.LP
58 +\fBdhcpagent\fR monitors system suspend/resume events and will validate any
59 +non-permanent leases with the DHCP server upon resume. Similarly,
54 60 \fBdhcpagent\fR monitors link up/down events and will validate any
55 61 non-permanent leases with the DHCP server when the downed link is brought back
56 62 up. The lease validation mechanism will restart DHCP if the server indicates
57 63 that the existing lease is no longer valid. If the server cannot be contacted,
58 64 then the existing lease will continue. This behavior can be modified with the
59 65 \fBVERIFIED_LEASE_ONLY\fR parameter in the \fB/etc/default/dhcpagent\fR file.
60 66 See the description of this parameter below.
61 67 .sp
62 68 .LP
63 69 For IPv4, if the configured interface is found to be unplumbed, or to have a
64 70 different IP address, subnet mask, or broadcast address from those obtained
65 71 from DHCP, the interface is abandoned from DHCP control.
66 72 .sp
67 73 .LP
68 74 For IPv6, \fBdhcpagent\fR automatically plumbs and unplumbs logical interfaces
69 75 as necessary for the IPv6 addresses supplied by the server. The IPv6 prefix
70 76 length (netmask) is not set by the DHCPv6 protocol, but is instead set by
71 77 \fBin.ndpd\fR(1M) using prefix information obtained by Router Advertisements.
72 78 If any of the logical interfaces created by \fBdhcpagent\fR is unplumbed, or
73 79 configured with a different IP address, it will be abandoned from DHCP control.
74 80 If the link-local interface is unplumbed, then all addresses configured by DHCP
75 81 on that physical interface will be removed.
76 82 .sp
77 83 .LP
78 84 In addition to \fBDHCP\fR, \fBdhcpagent\fR also supports \fBBOOTP\fR (IPv4
79 85 only). See \fIRFC 951, Bootstrap Protocol\fR. Configuration parameters obtained
80 86 from a \fBBOOTP\fR server are treated identically to those received from a
81 87 \fBDHCP\fR server, except that the \fBIP\fR address received from a \fBBOOTP\fR
82 88 server always has an infinite lease.
83 89 .sp
84 90 .LP
85 91 \fBDHCP\fR also acts as a mechanism to configure other information needed by
86 92 the client, for example, the domain name and addresses of routers. Aside from
87 93 the IP address, and for IPv4 alone, the netmask, broadcast address, and default
88 94 router, the agent does not directly configure the workstation, but instead acts
89 95 as a database which may be interrogated by other programs, and in particular by
90 96 \fBdhcpinfo\fR(1).
91 97 .sp
92 98 .LP
93 99 On clients with a single interface, this is quite straightforward. Clients with
94 100 multiple interfaces may present difficulties, as it is possible that some
|
↓ open down ↓ |
31 lines elided |
↑ open up ↑ |
95 101 information arriving on different interfaces may need to be merged, or may be
96 102 inconsistent. Furthermore, the configuration of the interfaces is asynchronous,
97 103 so requests may arrive while some or all of the interfaces are still
98 104 unconfigured. To handle these cases, one interface may be designated as
99 105 primary, which makes it the authoritative source for the values of \fBDHCP\fR
100 106 parameters in the case where no specific interface is requested. See
101 107 \fBdhcpinfo\fR(1) and \fBifconfig\fR(1M) for details.
102 108 .sp
103 109 .LP
104 110 For IPv4, the \fBdhcpagent\fR daemon can be configured to request a particular
105 -host name. See the \fBREQUEST_HOSTNAME\fR description in the \fBFILES\fR
106 -section. When first configuring a client to request a host name, you must
107 -perform the following steps as root to ensure that the full DHCP negotiation
108 -takes place:
111 +Fully Qualified Domain Name (FQDN) or host name. See the \fBREQUEST_FQDN\fR or
112 +\fBREQUEST_HOSTNAME\fR description in the \fBFILES\fR section. When first
113 +configuring a client to request an FQDN or host name, you must perform the
114 +following steps as root to ensure that the full DHCP negotiation takes place:
109 115 .sp
110 116 .in +2
111 117 .nf
112 118 # pkill dhcpagent
113 119 # rm /etc/dhcp/\fIinterface\fR.dhc
114 120 # reboot
115 121 .fi
116 122 .in -2
117 123 .sp
118 124
119 125 .sp
120 126 .LP
121 127 All DHCP packets sent by \fBdhcpagent\fR include a vendor class identifier (RFC
122 128 2132, option code 60; RFC 3315, option code 16). This identifier is the same as
123 129 the platform name returned by the \fBuname\fR \fB-i\fR command, except:
124 130 .RS +4
125 131 .TP
126 132 .ie t \(bu
127 133 .el o
128 134 Any commas in the platform name are changed to periods.
129 135 .RE
130 136 .RS +4
131 137 .TP
132 138 .ie t \(bu
133 139 .el o
134 140 If the name does not start with a stock symbol and a comma, it is automatically
135 141 prefixed with \fBSUNW\fR.
136 142 .RE
137 143 .SS "Messages"
138 144 .LP
139 145 The \fBdhcpagent\fR daemon writes information and error messages in five
140 146 categories:
141 147 .sp
142 148 .ne 2
143 149 .na
144 150 \fBcritical\fR
145 151 .ad
146 152 .sp .6
147 153 .RS 4n
148 154 Critical messages indicate severe conditions that prevent proper operation.
149 155 .RE
150 156
151 157 .sp
152 158 .ne 2
153 159 .na
154 160 \fBerrors\fR
155 161 .ad
156 162 .sp .6
157 163 .RS 4n
158 164 Error messages are important, sometimes unrecoverable events due to resource
159 165 exhaustion and other unexpected failure of system calls; ignoring errors may
160 166 lead to degraded functionality.
161 167 .RE
162 168
163 169 .sp
164 170 .ne 2
165 171 .na
166 172 \fBwarnings\fR
167 173 .ad
168 174 .sp .6
169 175 .RS 4n
170 176 Warnings indicate less severe problems, and in most cases, describe unusual or
171 177 incorrect datagrams received from servers, or requests for service that cannot
172 178 be provided.
173 179 .RE
174 180
175 181 .sp
176 182 .ne 2
177 183 .na
178 184 \fBinformational\fR
179 185 .ad
180 186 .sp .6
181 187 .RS 4n
182 188 Informational messages provide key pieces of information that can be useful to
183 189 debugging a \fBDHCP\fR configuration at a site. Informational messages are
184 190 generally controlled by the \fB-v\fR option. However, certain critical pieces
185 191 of information, such as the IP address obtained, are always provided.
186 192 .RE
187 193
188 194 .sp
189 195 .ne 2
190 196 .na
191 197 \fBdebug\fR
192 198 .ad
193 199 .sp .6
194 200 .RS 4n
195 201 Debugging messages, which may be generated at two different levels of
196 202 verbosity, are chiefly of benefit to persons having access to source code, but
197 203 may be useful as well in debugging difficult DHCP configuration problems.
198 204 Debugging messages are only generated when using the \fB-d\fR option.
199 205 .RE
200 206
201 207 .sp
202 208 .LP
203 209 When \fBdhcpagent\fR is run without the \fB-f\fR option, all messages are sent
204 210 to the system logger \fBsyslog\fR(3C) at the appropriate matching priority and
205 211 with a facility identifier \fBLOG_DAEMON\fR. When \fBdhcpagent\fR is run with
206 212 the \fB-f\fR option, all messages are directed to standard error.
207 213 .SS "DHCP Events and User-Defined Actions"
208 214 .LP
209 215 If an executable (binary or script) is placed at \fB/etc/dhcp/eventhook\fR, the
210 216 \fBdhcpagent\fR daemon will automatically run that program when any of the
211 217 following events occur:
212 218 .sp
213 219 .ne 2
214 220 .na
215 221 \fB\fBBOUND\fR and \fBBOUND6\fR\fR
216 222 .ad
217 223 .sp .6
218 224 .RS 4n
219 225 These events occur during interface configuration. The event program is invoked
220 226 when \fBdhcpagent\fR receives the DHCPv4 ACK or DHCPv6 Reply message from the
221 227 DHCP server for the lease request of an address, indicating successful initial
222 228 configuration of the interface. (See also the \fBINFORM\fR and \fBINFORM6\fR
223 229 events, which occur when configuration parameters are obtained without address
224 230 leases.)
225 231 .RE
226 232
227 233 .sp
228 234 .ne 2
229 235 .na
230 236 \fB\fBEXTEND\fR and \fBEXTEND6\fR\fR
231 237 .ad
232 238 .sp .6
233 239 .RS 4n
234 240 These events occur during lease extension. The event program is invoked just
235 241 after \fBdhcpagent\fR receives the DHCPv4 ACK or DHCPv6 Reply from the DHCP
236 242 server for the DHCPv4 REQUEST (renew) message or the DHCPv6 Renew or Rebind
237 243 message.
238 244 .sp
239 245 Note that with DHCPv6, the server might choose to remove some addresses, add
240 246 new address leases, and ignore (allow to expire) still other addresses in a
241 247 given Reply message. The \fBEXTEND6\fR event occurs when a Reply is received
242 248 that leaves one or more address leases still valid, even if the Reply message
243 249 does not extend the lease for any address. The event program is invoked just
244 250 before any addresses are removed, but just after any new addresses are added.
245 251 Those to be removed will be marked with the \fBIFF_DEPRECATED\fR flag.
246 252 .RE
247 253
248 254 .sp
249 255 .ne 2
250 256 .na
251 257 \fB\fBEXPIRE\fR and \fBEXPIRE6\fR\fR
252 258 .ad
253 259 .sp .6
254 260 .RS 4n
255 261 These events occur during lease expiration. For DHCPv4, the event program is
256 262 invoked just before the leased address is removed from an interface. For
257 263 DHCPv6, the event program is invoked just before the last remaining leased
258 264 addresses are removed from the interface.
259 265 .RE
260 266
261 267 .sp
262 268 .ne 2
263 269 .na
264 270 \fB\fBDROP\fR and \fBDROP6\fR\fR
265 271 .ad
266 272 .sp .6
267 273 .RS 4n
268 274 These events occur during the period when an interface is dropped. The event
269 275 program is invoked just before the interface is removed from DHCP control. If
270 276 the interface has been abandoned due the user unplumbing the interface, then
271 277 this event will occur after the user's action has taken place. The interface
272 278 might not be present.
273 279 .RE
274 280
275 281 .sp
276 282 .ne 2
277 283 .na
278 284 \fB\fBINFORM\fR and \fBINFORM6\fR\fR
279 285 .ad
280 286 .sp .6
281 287 .RS 4n
282 288 These events occur when an interface acquires new or updated configuration
283 289 information from a DHCP server by means of the DHCPv4 \fBINFORM\fR or the
284 290 DHCPv6 Information-Request message. These messages are sent using an
285 291 \fBifconfig\fR(1M) \fBdhcp inform\fR command or when the DHCPv6 Router
286 292 Advertisement \fBO\fR (letter 0) bit is set and the \fBM\fR bit is not set.
287 293 Thus, these events occur when the DHCP client does not obtain an IP address
288 294 lease from the server, and instead obtains only configuration parameters.
289 295 .RE
290 296
291 297 .sp
292 298 .ne 2
293 299 .na
294 300 \fB\fBLOSS6\fR\fR
295 301 .ad
296 302 .sp .6
297 303 .RS 4n
298 304 This event occurs during lease expiration when one or more valid leases still
299 305 remain. The event program is invoked just before expired addresses are removed.
300 306 Those being removed will be marked with the \fBIFF_DEPRECATED\fR flag.
301 307 .sp
302 308 Note that this event is not associated with the receipt of the Reply message,
303 309 which occurs only when one or more valid leases remain, and occurs only with
304 310 DHCPv6. If all leases have expired, then the EXPIRE6 event occurs instead.
305 311 .RE
306 312
307 313 .sp
308 314 .ne 2
309 315 .na
310 316 \fB\fBRELEASE\fR and \fBRELEASE6\fR\fR
311 317 .ad
312 318 .sp .6
313 319 .RS 4n
314 320 This event occurs during the period when a leased address is released. The
315 321 event program is invoked just before \fBdhcpagent\fR relinquishes the address
316 322 on an interface and sends the DHCPv4 \fBRELEASE\fR or DHCPv6 Release packet to
317 323 the DHCP server.
318 324 .RE
319 325
320 326 .sp
321 327 .LP
322 328 The system does not provide a default event program. The file
323 329 \fB/etc/dhcp/eventhook\fR is expected to be owned by root and have a mode of
324 330 755.
325 331 .sp
326 332 .LP
327 333 The event program will be passed two arguments, the interface name and the
328 334 event name, respectively. For DHCPv6, the interface name is the name of the
329 335 physical interface.
330 336 .sp
331 337 .LP
332 338 The event program can use the \fBdhcpinfo\fR(1) utility to fetch additional
333 339 information about the interface. While the event program is invoked on every
334 340 event defined above, it can ignore those events in which it is not interested.
335 341 The event program runs with the same privileges and environment as
336 342 \fBdhcpagent\fR itself, except that \fBstdin\fR, \fBstdout\fR, and \fBstderr\fR
337 343 are redirected to \fB/dev/null\fR. Note that this means that the event program
338 344 runs with root privileges.
339 345 .sp
340 346 .LP
341 347 If an invocation of the event program does not exit after 55 seconds, it is
342 348 sent a \fBSIGTERM\fR signal. If does not exit within the next three seconds, it
343 349 is terminated by a \fBSIGKILL\fR signal.
344 350 .sp
345 351 .LP
346 352 See EXAMPLES for an example event program.
347 353 .SH OPTIONS
348 354 .LP
349 355 The following options are supported:
350 356 .sp
351 357 .ne 2
352 358 .na
353 359 \fB\fB-a\fR\fR
354 360 .ad
355 361 .sp .6
356 362 .RS 4n
357 363 Adopt a configured IPv4 interface. This option is for use with diskless
358 364 \fBDHCP\fR clients. In the case of diskless \fBDHCP\fR, \fBDHCP\fR has already
359 365 been performed on the network interface providing the operating system image
360 366 prior to running \fBdhcpagent\fR. This option instructs the agent to take over
361 367 control of the interface. It is intended primarily for use in boot scripts.
362 368 .sp
363 369 The effect of this option depends on whether the interface is being adopted.
364 370 .sp
365 371 If the interface is being adopted, the following conditions apply:
366 372 .sp
367 373 \fBdhcpagent\fR uses the client id specified in
368 374 \fB/chosen\fR:\fI<client_id>\fR, as published by the PROM or as specified on a
369 375 \fBboot\fR(1M) command line. If this value is not present, the client id is
370 376 undefined. The DHCP server then determines what to use as a client id. It is an
371 377 error condition if the interface is an Infiniband interface and the PROM value
372 378 is not present.
373 379 .sp
374 380 If the interface is not being adopted:
375 381 .sp
376 382 \fBdhcpagent\fR uses the value stored in \fB/etc/default/dhcpagent\fR. If this
377 383 value is not present, the client id is undefined. If the interface is
378 384 Infiniband and there is no value in \fB/etc/default/dhcpagent\fR, a client id
379 385 is generated as described by the draft document on DHCP over Infiniband,
380 386 available at:
381 387 .sp
382 388 .in +2
383 389 .nf
384 390 http://www.ietf.org
385 391 .fi
386 392 .in -2
387 393
388 394 .RE
389 395
390 396 .sp
391 397 .ne 2
392 398 .na
393 399 \fB\fB-d\fR \fIn\fR\fR
394 400 .ad
395 401 .sp .6
396 402 .RS 4n
397 403 Set debug level to \fIn\fR. Two levels of debugging are currently available, 1
398 404 and 2; the latter is more verbose.
399 405 .RE
400 406
401 407 .sp
402 408 .ne 2
403 409 .na
404 410 \fB\fB-f\fR\fR
405 411 .ad
406 412 .sp .6
407 413 .RS 4n
408 414 Run in the foreground instead of as a daemon process. When this option is used,
409 415 messages are sent to standard error instead of to \fBsyslog\fR(3C).
410 416 .RE
411 417
412 418 .sp
413 419 .ne 2
414 420 .na
415 421 \fB\fB-v\fR\fR
416 422 .ad
417 423 .sp .6
418 424 .RS 4n
419 425 Provide verbose output useful for debugging site configuration problems.
420 426 .RE
421 427
422 428 .SH EXAMPLES
423 429 .LP
424 430 \fBExample 1 \fRExample Event Program
425 431 .sp
426 432 .LP
427 433 The following script is stored in the file \fB/etc/dhcp/eventhook\fR, owned by
428 434 root with a mode of 755. It is invoked upon the occurrence of the events listed
429 435 in the file.
430 436
431 437 .sp
432 438 .in +2
433 439 .nf
434 440 #!/bin/sh
435 441
436 442 (
437 443 echo "Interface name: " $1
438 444 echo "Event: " $2
439 445
440 446 case $2 in
441 447 "BOUND")
442 448 echo "Address acquired from server "\e
443 449 `/sbin/dhcpinfo -i $1 ServerID`
444 450 ;;
445 451 "BOUND6")
446 452 echo "Addresses acquired from server " \e
447 453 `/sbin/dhcpinfo -v6 -i $1 ServerID`
448 454 ;;
449 455 "EXTEND")
450 456 echo "Lease extended for " \e
451 457 `sbin/dhcpinfo -i $1 LeaseTim`" seconds"
452 458 ;;
453 459 "EXTEND6")
454 460 echo "New lease information obtained on $i"
455 461 ;;
456 462 "EXPIRE" | "DROP" | "RELEASE")
457 463 ;;
458 464
459 465 esac
460 466 ) >/var/run/dhcp_eventhook_output 2>&1
461 467 .fi
462 468 .in -2
463 469 .sp
464 470
465 471 .sp
466 472 .LP
467 473 Note the redirection of stdout and stderr to a file.
468 474
469 475 .SH FILES
470 476 .ne 2
471 477 .na
472 478 \fB\fB/etc/dhcp/\fIif\fR.dhc\fR\fR
473 479 .ad
474 480 .br
475 481 .na
476 482 \fB\fB/etc/dhcp/\fIif\fR.dh6\fR\fR
477 483 .ad
478 484 .sp .6
479 485 .RS 4n
480 486 Contains the configuration for interface. The mere existence of this file does
481 487 not imply that the configuration is correct, since the lease might have
482 488 expired. On start-up, \fBdhcpagent\fR confirms the validity of the address
483 489 using REQUEST (for DHCPv4) or Confirm (DHCPv6).
484 490 .RE
485 491
486 492 .sp
|
↓ open down ↓ |
368 lines elided |
↑ open up ↑ |
487 493 .ne 2
488 494 .na
489 495 \fB\fB/etc/dhcp/duid\fR\fR
490 496 .ad
491 497 .br
492 498 .na
493 499 \fB\fB/etc/dhcp/iaid\fR\fR
494 500 .ad
495 501 .sp .6
496 502 .RS 4n
497 -Contains persistent storage for DUID (DHCP Unique Identifier) and IAID
498 -(Identity Association Identifier) values. The format of these files is
499 -undocumented, and applications should not read from or write to them.
503 +Contains persistent storage for system-generated DUID (DHCP Unique Identifier)
504 +and interface-specific IAID (Identity Association Identifier) values which are
505 +used if no \fBCLIENT_ID\fR is defined (see below). The format of these files is
506 +undocumented, and applications should not read from or write to them. Instead,
507 +\fBdhcpinfo\fR(1) can be used to query the \fBdhcpagent\fR for \fIClientID\fR.
508 +For DHCPv6 interfaces, the result will contain the DUID. For DHCPv4 interfaces
509 +with \fBV4_DEFAULT_IAID_DUID\fR enabled (see below), the result will contain
510 +the IAID and DUID.
500 511 .RE
501 512
502 513 .sp
503 514 .ne 2
504 515 .na
505 516 \fB\fB/etc/default/dhcpagent\fR\fR
506 517 .ad
507 518 .sp .6
508 519 .RS 4n
509 520 Contains default values for tunable parameters. All values may be qualified
510 521 with the interface they apply to by prepending the interface name and a period
511 522 (".") to the interface parameter name. The parameters include: the interface
512 523 parameter name.
513 524 .sp
514 525 To configure IPv6 parameters, place the string \fB\&.v6\fR between the
515 526 interface name (if any) and the parameter name. For example, to set the global
516 527 IPv6 parameter request list, use \fB\&.v6.PARAM_REQUEST_LIST\fR. To set the
517 528 \fBCLIENT_ID\fR (\fBDUID\fR) on \fBhme0\fR, use \fBhme0.v6.CLIENT_ID\fR.
518 529 .sp
519 530 The parameters include:
520 531 .sp
521 532 .ne 2
522 533 .na
523 534 \fB\fBVERIFIED_LEASE_ONLY\fR\fR
524 535 .ad
525 536 .sp .6
526 537 .RS 4n
527 538 Indicates that a \fBRELEASE\fR rather than a \fBDROP\fR should be performed on
528 539 managed interfaces when the agent terminates. Release causes the client to
|
↓ open down ↓ |
19 lines elided |
↑ open up ↑ |
529 540 discard the lease, and the server to make the address available again. Drop
530 541 causes the client to record the lease in \fB/etc/dhcp/\fIinterface\fR.dhc\fR or
531 542 \fB/etc/dhcp/\fIinterface\fR.dh6\fR for later use. In addition, when the link
532 543 status changes to \fBup\fR or when the system is resumed after a suspend, the
533 544 client will verify the lease with the server. If the server is unreachable for
534 545 verification, then the old lease will be discarded (even if it has time
535 546 remaining) and a new one obtained.
536 547 .sp
537 548 Enabling this option is often desirable on mobile systems, such as laptops, to
538 549 allow the system to recover quickly from moves.
550 +.sp
551 +Default value of this option is \fIno\fR.
539 552 .RE
540 553
541 554 .sp
542 555 .ne 2
543 556 .na
544 557 \fB\fBOFFER_WAIT\fR\fR
545 558 .ad
546 559 .sp .6
547 560 .RS 4n
548 -Indicates how long to wait between checking for valid \fBOFFER\fRs after
549 -sending a \fBDISCOVER\fR. For DHCPv6, sets the time to wait between checking
550 -for valid Advertisements after sending a Solicit.
561 +Indicates how long to wait in seconds between checking for valid
562 +\fBOFFER\fRs after sending a \fBDISCOVER\fR. For DHCPv6, sets the time to
563 +wait between checking for valid Advertisements after sending a Solicit.
564 +.sp
565 +Default value of this option is \fI3\fR.
551 566 .RE
552 567
553 568 .sp
554 569 .ne 2
555 570 .na
556 571 \fB\fBCLIENT_ID\fR\fR
557 572 .ad
558 573 .sp .6
559 574 .RS 4n
560 575 Indicates the value that should be used to uniquely identify the client to the
561 576 server. This value can take one of three basic forms:
562 577 .sp
563 578 .in +2
564 579 .nf
565 580 \fIdecimal\fR,\fIdata\fR...
566 581 0xHHHHH...
567 582 "\fIstring\fR...."
568 583 .fi
569 584 .in -2
570 585 .sp
571 586
572 587 The first form is an RFC 3315 DUID. This is legal for both IPv4 DHCP and
573 588 DHCPv6. For IPv4, an RFC 4361 Client ID is constructed from this value. In this
574 589 first form, the format of \fIdata\fR... depends on the decimal value. The
575 590 following formats are defined for this first form:
576 591 .sp
577 592 .ne 2
578 593 .na
579 594 \fB1,\fIhwtype\fR,\fItime\fR,\fIlla\fR\fR
580 595 .ad
581 596 .sp .6
582 597 .RS 4n
583 598 Type 1, DUID-LLT. The \fIhwtype\fR value is an integer in the range 0-65535,
584 599 and indicates the type of hardware. The \fItime\fR value is the number of
585 600 seconds since midnight, January 1st, 2000 UTC, and can be omitted to use the
586 601 current system time. The \fIlla\fR value is either a colon-separated MAC
587 602 address or the name of a physical interface. If the name of an interface is
588 603 used, the \fIhwtype\fR value can be omitted. For example: \fB1,,,hme0\fR
589 604 .RE
590 605
591 606 .sp
592 607 .ne 2
593 608 .na
594 609 \fB2,\fIenterprise\fR,\fIhex\fR...\fR
595 610 .ad
596 611 .sp .6
597 612 .RS 4n
598 613 Type 2, DUID-EN. The \fIenterprise\fR value is an integer in the range
599 614 0-4294967295 and represents the SMI Enterprise number for an organization. The
600 615 \fIhex\fR string is an even-length sequence of hexadecimal digits.
601 616 .RE
602 617
603 618 .sp
604 619 .ne 2
605 620 .na
606 621 \fB3,\fIhwtype\fR,\fIlla\fR\fR
607 622 .ad
608 623 .sp .6
609 624 .RS 4n
610 625 Type 3, DUID-LL. This is the same as DUID-LLT (type 1), except that a time
611 626 stamp is not used.
612 627 .RE
613 628
614 629 .sp
615 630 .ne 2
616 631 .na
617 632 \fB*,\fIhex\fR\fR
618 633 .ad
619 634 .sp .6
620 635 .RS 4n
621 636 Any other type value (0 or 4-65535) can be used with an even-length hexadecimal
622 637 string.
|
↓ open down ↓ |
62 lines elided |
↑ open up ↑ |
623 638 .RE
624 639
625 640 The second and third forms of \fBCLIENT_ID\fR are legal for IPv4 only. These
626 641 both represent raw Client ID (without RFC 4361), in hex, or NVT ASCII string
627 642 format. Thus, "\fBSun\fR" and \fB0x53756E\fR are equivalent.
628 643 .RE
629 644
630 645 .sp
631 646 .ne 2
632 647 .na
648 +\fB\fBV4_DEFAULT_IAID_DUID\fR\fR
649 +.ad
650 +.sp .6
651 +.RS 4n
652 +Indicates whether to use, when CLIENT_ID is not defined, a system-managed,
653 +RFC 3315-style (i.e., DHCPv6-style) binding identifier as documented in
654 +RFC 4361, "Node-specific Client Identifiers for DHCPv4," for IPv4
655 +interfaces which for purposes of backward compatibility do not normally get
656 +default binding identifiers.
657 +.sp
658 +An IPv4 interface that is not in an IP network multipathing (IPMP) group,
659 +that is not IP over InfiniBand (IPoIB), and that is not a logical interface
660 +does not normally get a default binding identifier.
661 +.sp
662 +Default value of this option is \fIno\fR.
663 +.RE
664 +
665 +.sp
666 +.ne 2
667 +.na
633 668 \fB\fBPARAM_REQUEST_LIST\fR\fR
634 669 .ad
635 670 .sp .6
636 671 .RS 4n
637 672 Specifies a list of comma-separated integer values of options for which the
638 673 client would like values, or symbolic \fBSite\fR or \fBOption\fR option names.
639 674 Symbolic option names for IPv4 are resolved through \fB/etc/dhcp/inittab\fR.
640 675 Option names for IPv6 are resolved by means of \fB/etc/dhcp/inittab6\fR.
641 676 .RE
642 677
643 678 .sp
644 679 .ne 2
645 680 .na
646 681 \fB\fBPARAM_IGNORE_LIST\fR\fR
647 682 .ad
648 683 .sp .6
649 684 .RS 4n
650 685 Specifies a list of options (constructed in the same manner as
|
↓ open down ↓ |
8 lines elided |
↑ open up ↑ |
651 686 \fBPARAM_REQUEST_LIST\fR) that the DHCP client will ignore. Ignored options are
652 687 treated as though the server did not return the options specified. Ignored
653 688 options are not visible using \fBdhcpinfo\fR(1) or acted on by the client. This
654 689 parameter can be used, for example, to disable an unwanted client name or
655 690 default router.
656 691 .RE
657 692
658 693 .sp
659 694 .ne 2
660 695 .na
696 +\fB\fBREQUEST_FQDN\fR\fR
697 +.ad
698 +.sp .6
699 +.RS 4n
700 +Indicates the client requests the DHCP server to map the client's leased
701 +IPv4 address to the Fully Qualified Domain Name (FQDN) associated with the
702 +network interface that performs DHCP on the client and to collaborate with
703 +a compatible DNS server to manage A and PTR resource records for the FQDN
704 +for the life of the lease.
705 +.sp .6
706 +The hostname in the FQDN is determined from the following possible
707 +configurations:
708 +.sp
709 +.ne 2
710 +.na
711 +1. \fBipadm\fR(1M): include the \fB-1,--primary\fR flag when creating an
712 +address that uses DHCP so that \fBnodename\fR(4) is used as the
713 +\fIhostname\fR.
714 +.ad
715 +.sp
716 +.ne 2
717 +.na
718 +2. \fBipadm\fR(1M): include the \fB-h,--reqhost\fR \fIhostname\fR switch
719 +when executing the \fBcreate-addr -T dhcp\fR subcommand, or use the
720 +\fBset-addrprop -p reqhost=\fR\fIhostname\fR subcommand for any existing
721 +DHCP address.
722 +.ad
723 +.sp
724 +.ne 2
725 +.na
726 +3. \fBnwamcfg\fR(1M): set a property,
727 +\fBip-primary=\fR\fIon\fR, for an ncu ip that uses DHCP so that
728 +\fBnodename\fR(4) is used as the \fIhostname\fR.
729 +.ad
730 +.sp
731 +.ne 2
732 +.na
733 +4. \fBnwamcfg\fR(1M): set a property,
734 +\fBip-reqhost=\fR\fIhostname\fR, for an ncu ip that uses DHCP.
735 +.ad
736 +.sp
737 +The \fIhostname\fR value is either a Partially Qualified Domain Name (PQDN)
738 +or an FQDN (i.e., a "rooted" domain name ending with a '.' or one inferred
739 +to be an FQDN if it contains at least three DNS labels such as
740 +srv.example.com). If a PQDN is specified, then an FQDN is constructed if
741 +either a \fBdefaultdomain\fR(4) or a \fBresolv.conf\fR(4) \fBdomain\fR is
742 +defined.
743 +.sp
744 +If an FQDN is sent, \fBREQUEST_HOSTNAME\fR processing will not be done,
745 +per RFC 4702 (3.1): "clients that send the Client FQDN option in their
746 +messages MUST NOT also send the Host Name."
747 +.sp
748 +Default value of this option is \fIyes\fR.
749 +.RE
750 +
751 +.sp
752 +.ne 2
753 +.na
661 754 \fB\fBREQUEST_HOSTNAME\fR\fR
662 755 .ad
663 756 .sp .6
664 757 .RS 4n
665 758 Indicates the client requests the DHCP server to map the client's leased IPv4
666 759 address to the host name associated with the network interface that performs
667 -DHCP on the client. The host name must be specified in the
760 +DHCP on the client. The host name must be specified as documented for a
761 +PQDN in \fBREQUEST_FQDN\fR above or specified in the
668 762 \fB/etc/hostname.\fIinterface\fR\fR file for the relevant interface on a line
669 763 of the form
670 764 .sp
671 765 .in +2
672 766 .nf
673 767 inet \fIhostname\fR
674 768 .fi
675 769 .in -2
676 770 .sp
677 771
678 772 where \fIhostname\fR is the host name requested.
679 773 .sp
680 774 This option works with DHCPv4 only.
775 +.sp
776 +Default value of this option is \fIyes\fR.
681 777 .RE
682 778
683 779 .RE
684 780
685 781 .sp
686 782 .ne 2
687 783 .na
688 784 \fB\fB/etc/dhcp/eventhook\fR\fR
689 785 .ad
690 786 .sp .6
691 787 .RS 4n
692 788 Location of a DHCP event program.
693 789 .RE
694 790
695 791 .SH ATTRIBUTES
696 792 .LP
697 793 See \fBattributes\fR(5) for descriptions of the following attributes:
698 794 .sp
699 795
700 796 .sp
701 797 .TS
702 798 box;
|
↓ open down ↓ |
12 lines elided |
↑ open up ↑ |
703 799 c | c
704 800 l | l .
705 801 ATTRIBUTE TYPE ATTRIBUTE VALUE
706 802 _
707 803 Interface Stability Committed
708 804 .TE
709 805
710 806 .SH SEE ALSO
711 807 .LP
712 808 \fBdhcpinfo\fR(1), \fBifconfig\fR(1M), \fBinit\fR(1M), \fBin.mpathd\fR(1M),
713 -\fBin.ndpd\fR(1M), \fBsyslog\fR(3C), \fBattributes\fR(5), \fBdhcp\fR(5)
809 +\fBin.ndpd\fR(1M), \fBipadm\fR(1M), \fBnwamcfg\fR(1M), \fBsyslog\fR(3C),
810 +\fBdefaultdomain\fR(4), \fBnodename\fR(4), \fBresolv.conf\fR(4),
811 +\fBattributes\fR(5), \fBdhcp\fR(5)
714 812 .sp
715 813 .LP
716 814 \fI\fR
717 815 .sp
718 816 .LP
719 817 Croft, B. and Gilmore, J.,\fIBootstrap Protocol (BOOTP)\fRRFC 951, Network
720 818 Working Group, September 1985.
721 819 .sp
722 820 .LP
723 821 Droms, R., \fIDynamic Host Configuration Protocol\fR, RFC 2131, Network Working
724 822 Group, March 1997.
725 823 .sp
726 824 .LP
727 825 Lemon, T. and B. Sommerfeld. \fIRFC 4361, Node-specific Client Identifiers for
728 826 Dynamic Host Configuration Protocol Version Four (DHCPv4)\fR. Nominum and Sun
729 827 Microsystems. February 2006.
730 828 .sp
731 829 .LP
732 830 Droms, R. \fIRFC 3315, Dynamic Host Configuration Protocol for IPv6
733 831 (DHCPv6)\fR. Cisco Systems. July 2003.
734 832 .SH NOTES
735 833 .LP
736 834 The \fBdhcpagent\fR daemon can be used on IPv4 logical interfaces, just as with
737 835 physical interfaces. When used on a logical interface, the daemon automatically
738 836 constructs a Client ID value based on the DUID and IAID values, according to
739 837 RFC 4361. The \fB/etc/default/dhcpagent\fR \fBCLIENT_ID\fR value, if any,
740 838 overrides this automatic identifier.
741 839 .sp
742 840 .LP
743 841 As with physical IPv4 interfaces, the \fB/etc/hostname.hme0:1\fR and
744 842 \fB/etc/dhcp.hme0:1\fR files must also be created in order for \fBhme0:1\fR to
745 843 be automatically plumbed and configured at boot. In addition, unlike physical
746 844 IPv4 interfaces, \fBdhcpagent\fR does not add or remove default routes
747 845 associated with logical interfaces.
748 846 .sp
749 847 .LP
750 848 DHCP can be performed on IPMP IP interfaces to acquire and maintain IPMP data
751 849 addresses. Because an IPMP IP interface has no hardware address, the daemon
752 850 automatically constructs a Client ID using the same approach described above
753 851 for IPv4 logical interfaces. In addition, the lack of a hardware address means
754 852 the daemon must set the "broadcast" flag in all \fBDISCOVER\fR and
755 853 \fBREQUEST\fR messages on IPMP IP interfaces. Some DHCP servers may refuse such
756 854 requests.
757 855 .sp
758 856 .LP
759 857 DHCP can be performed on IP interfaces that are part of an IPMP group (to
760 858 acquire and maintain test addresses). The daemon will automatically set the
761 859 \fBNOFAILOVER\fR and \fBDEPRECATED\fR flags on each test address. Additionally,
762 860 the daemon will not add or remove default routes in this case. Note that the
763 861 actual DHCP packet exchange may be performed over any active IP interface in
764 862 the IPMP group. It is strongly recommended that test addresses have infinite
765 863 leases. Otherwise, an extended network outage detectable only by probes may
766 864 cause test address leases to expire, causing \fBin.mpathd\fR(1M) to revert to
767 865 link-based failure detection and trigger an erroneous repair.
768 866 .sp
769 867 .LP
770 868 With DHCPv6, the link-local interface must be configured using
771 869 \fB/etc/hostname6.hme0\fR in order for DHCPv6 to run on \fBhme0\fR at boot
772 870 time. The logical interfaces for each address are plumbed by \fBdhcpagent\fR
773 871 automatically.
|
↓ open down ↓ |
50 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX