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.man.txt
+++ new/usr/src/man/man1m/dhcpagent.1m.man.txt
1 1 DHCPAGENT(1M) Maintenance Commands DHCPAGENT(1M)
2 2
3 3
|
↓ open down ↓ |
3 lines elided |
↑ open up ↑ |
4 4
5 5 NAME
6 6 dhcpagent - Dynamic Host Configuration Protocol (DHCP) client daemon
7 7
8 8 SYNOPSIS
9 9 dhcpagent [-a] [ -d n] [-f] [-v]
10 10
11 11
12 12 DESCRIPTION
13 13 dhcpagent implements the client half of the Dynamic Host Configuration
14 - Protocol (DHCP) for machines running Solaris software.
14 + Protocol (DHCP) for machines running illumos software.
15 15
16 16
17 17 The dhcpagent daemon obtains configuration parameters for the client
18 18 (local) machine's network interfaces from a DHCP server. These
19 19 parameters may include a lease on an IP address, which gives the client
20 20 machine use of the address for the period of the lease, which may be
21 21 infinite. If the client wishes to use the IP address for a period
22 22 longer than the lease, it must negotiate an extension using DHCP. For
23 23 this reason, dhcpagent must run as a daemon, terminating only when the
24 24 client machine powers down.
25 25
26 26
27 - For IPv4, the dhcpagent daemon is controlled through ifconfig(1M) in
28 - much the same way that the init(1M) daemon is controlled by
29 - telinit(1M). dhcpagent can be invoked as a user process, albeit one
30 - requiring root privileges, but this is not necessary, as ifconfig(1M)
31 - will start it automatically.
27 + For IPv4, the dhcpagent daemon is controlled through ipadm(1M),
28 + nwamcfg(1M), or ifconfig(1M) in much the same way that the init(1M)
29 + daemon is controlled by telinit(1M). dhcpagent can be invoked as a user
30 + process, albeit one requiring root privileges, but this is not
31 + necessary, as ipadm(1M), nwamcfg(1M), or ifconfig(1M) will start
32 + dhcpagent automatically.
32 33
33 34
34 35 For IPv6, the dhcpagent daemon is invoked automatically by in.ndpd(1M).
35 36 It can also be controlled through ifconfig(1M), if necessary.
36 37
37 38
38 39 When invoked, dhcpagent enters a passive state while it awaits
39 - instructions from ifconfig(1M) or in.ndpd(1M). When it receives a
40 - command to configure an interface, it brings up the interface (if
41 - necessary) and starts DHCP. Once DHCP is complete, dhcpagent can be
42 - queried for the values of the various network parameters. In addition,
43 - if DHCP was used to obtain a lease on an address for an interface, it
44 - configures the address for use. When a lease is obtained, it is
45 - automatically renewed as necessary. If the lease cannot be renewed,
46 - dhcpagent will unconfigure the address, but the interface will be left
47 - up and dhcpagent will attempt to acquire a new address lease. dhcpagent
48 - monitors system suspend/resume events and will validate any non-
49 - permanent leases with the DHCP server upon resume. Similarly, dhcpagent
50 - monitors link up/down events and will validate any non-permanent leases
51 - with the DHCP server when the downed link is brought back up. The lease
52 - validation mechanism will restart DHCP if the server indicates that the
53 - existing lease is no longer valid. If the server cannot be contacted,
54 - then the existing lease will continue. This behavior can be modified
55 - with the VERIFIED_LEASE_ONLY parameter in the /etc/default/dhcpagent
56 - file. See the description of this parameter below.
40 + instructions from ipadm(1M), nwamcfg(1M), ifconfig(1M), or in.ndpd(1M).
41 + When dhcpagent receives a command to configure an interface, dhcpagent
42 + brings up the interface (if necessary) and starts DHCP. Once DHCP is
43 + complete, dhcpagent can be queried for the values of the various
44 + network parameters. In addition, if DHCP was used to obtain a lease on
45 + an address for an interface, dhcpagent configures the address for use.
46 + When a lease is obtained, it is automatically renewed as necessary. If
47 + the lease cannot be renewed, dhcpagent will unconfigure the address,
48 + but the interface will be left up, and dhcpagent will attempt to
49 + acquire a new address lease.
57 50
58 51
52 + dhcpagent monitors system suspend/resume events and will validate any
53 + non-permanent leases with the DHCP server upon resume. Similarly,
54 + dhcpagent monitors link up/down events and will validate any non-
55 + permanent leases with the DHCP server when the downed link is brought
56 + back up. The lease validation mechanism will restart DHCP if the server
57 + indicates that the existing lease is no longer valid. If the server
58 + cannot be contacted, then the existing lease will continue. This
59 + behavior can be modified with the VERIFIED_LEASE_ONLY parameter in the
60 + /etc/default/dhcpagent file. See the description of this parameter
61 + below.
62 +
63 +
59 64 For IPv4, if the configured interface is found to be unplumbed, or to
60 65 have a different IP address, subnet mask, or broadcast address from
61 66 those obtained from DHCP, the interface is abandoned from DHCP control.
62 67
63 68
64 69 For IPv6, dhcpagent automatically plumbs and unplumbs logical
65 70 interfaces as necessary for the IPv6 addresses supplied by the server.
66 71 The IPv6 prefix length (netmask) is not set by the DHCPv6 protocol, but
67 72 is instead set by in.ndpd(1M) using prefix information obtained by
68 73 Router Advertisements. If any of the logical interfaces created by
69 74 dhcpagent is unplumbed, or configured with a different IP address, it
70 75 will be abandoned from DHCP control. If the link-local interface is
71 76 unplumbed, then all addresses configured by DHCP on that physical
72 77 interface will be removed.
73 78
74 79
75 80 In addition to DHCP, dhcpagent also supports BOOTP (IPv4 only). See RFC
76 81 951, Bootstrap Protocol. Configuration parameters obtained from a BOOTP
77 82 server are treated identically to those received from a DHCP server,
78 83 except that the IP address received from a BOOTP server always has an
79 84 infinite lease.
80 85
81 86
82 87 DHCP also acts as a mechanism to configure other information needed by
83 88 the client, for example, the domain name and addresses of routers.
84 89 Aside from the IP address, and for IPv4 alone, the netmask, broadcast
85 90 address, and default router, the agent does not directly configure the
86 91 workstation, but instead acts as a database which may be interrogated
87 92 by other programs, and in particular by dhcpinfo(1).
88 93
89 94
90 95 On clients with a single interface, this is quite straightforward.
91 96 Clients with multiple interfaces may present difficulties, as it is
92 97 possible that some information arriving on different interfaces may
|
↓ open down ↓ |
24 lines elided |
↑ open up ↑ |
93 98 need to be merged, or may be inconsistent. Furthermore, the
94 99 configuration of the interfaces is asynchronous, so requests may arrive
95 100 while some or all of the interfaces are still unconfigured. To handle
96 101 these cases, one interface may be designated as primary, which makes it
97 102 the authoritative source for the values of DHCP parameters in the case
98 103 where no specific interface is requested. See dhcpinfo(1) and
99 104 ifconfig(1M) for details.
100 105
101 106
102 107 For IPv4, the dhcpagent daemon can be configured to request a
103 - particular host name. See the REQUEST_HOSTNAME description in the FILES
104 - section. When first configuring a client to request a host name, you
105 - must perform the following steps as root to ensure that the full DHCP
108 + particular Fully Qualified Domain Name (FQDN) or host name. See the
109 + REQUEST_FQDN or REQUEST_HOSTNAME description in the FILES section. When
110 + first configuring a client to request an FQDN or host name, you must
111 + perform the following steps as root to ensure that the full DHCP
106 112 negotiation takes place:
107 113
108 114 # pkill dhcpagent
109 115 # rm /etc/dhcp/interface.dhc
110 116 # reboot
111 117
112 118
113 119
114 120
115 121 All DHCP packets sent by dhcpagent include a vendor class identifier
116 122 (RFC 2132, option code 60; RFC 3315, option code 16). This identifier
117 123 is the same as the platform name returned by the uname -i command,
118 124 except:
119 125
120 126 o Any commas in the platform name are changed to periods.
121 127
122 128 o If the name does not start with a stock symbol and a comma,
123 129 it is automatically prefixed with SUNW.
124 130
125 131 Messages
126 132 The dhcpagent daemon writes information and error messages in five
127 133 categories:
128 134
129 135 critical
130 136
131 137 Critical messages indicate severe conditions that prevent proper
132 138 operation.
133 139
134 140
135 141 errors
136 142
137 143 Error messages are important, sometimes unrecoverable events due to
138 144 resource exhaustion and other unexpected failure of system calls;
139 145 ignoring errors may lead to degraded functionality.
140 146
141 147
142 148 warnings
143 149
144 150 Warnings indicate less severe problems, and in most cases, describe
145 151 unusual or incorrect datagrams received from servers, or requests
146 152 for service that cannot be provided.
147 153
148 154
149 155 informational
150 156
151 157 Informational messages provide key pieces of information that can
152 158 be useful to debugging a DHCP configuration at a site.
153 159 Informational messages are generally controlled by the -v option.
154 160 However, certain critical pieces of information, such as the IP
155 161 address obtained, are always provided.
156 162
157 163
158 164 debug
159 165
160 166 Debugging messages, which may be generated at two different levels
161 167 of verbosity, are chiefly of benefit to persons having access to
162 168 source code, but may be useful as well in debugging difficult DHCP
163 169 configuration problems. Debugging messages are only generated when
164 170 using the -d option.
165 171
166 172
167 173
168 174 When dhcpagent is run without the -f option, all messages are sent to
169 175 the system logger syslog(3C) at the appropriate matching priority and
170 176 with a facility identifier LOG_DAEMON. When dhcpagent is run with the
171 177 -f option, all messages are directed to standard error.
172 178
173 179 DHCP Events and User-Defined Actions
174 180 If an executable (binary or script) is placed at /etc/dhcp/eventhook,
175 181 the dhcpagent daemon will automatically run that program when any of
176 182 the following events occur:
177 183
178 184 BOUND and BOUND6
179 185
180 186 These events occur during interface configuration. The event
181 187 program is invoked when dhcpagent receives the DHCPv4 ACK or DHCPv6
182 188 Reply message from the DHCP server for the lease request of an
183 189 address, indicating successful initial configuration of the
184 190 interface. (See also the INFORM and INFORM6 events, which occur
185 191 when configuration parameters are obtained without address leases.)
186 192
187 193
188 194 EXTEND and EXTEND6
189 195
190 196 These events occur during lease extension. The event program is
191 197 invoked just after dhcpagent receives the DHCPv4 ACK or DHCPv6
192 198 Reply from the DHCP server for the DHCPv4 REQUEST (renew) message
193 199 or the DHCPv6 Renew or Rebind message.
194 200
195 201 Note that with DHCPv6, the server might choose to remove some
196 202 addresses, add new address leases, and ignore (allow to expire)
197 203 still other addresses in a given Reply message. The EXTEND6 event
198 204 occurs when a Reply is received that leaves one or more address
199 205 leases still valid, even if the Reply message does not extend the
200 206 lease for any address. The event program is invoked just before any
201 207 addresses are removed, but just after any new addresses are added.
202 208 Those to be removed will be marked with the IFF_DEPRECATED flag.
203 209
204 210
205 211 EXPIRE and EXPIRE6
206 212
207 213 These events occur during lease expiration. For DHCPv4, the event
208 214 program is invoked just before the leased address is removed from
209 215 an interface. For DHCPv6, the event program is invoked just before
210 216 the last remaining leased addresses are removed from the interface.
211 217
212 218
213 219 DROP and DROP6
214 220
215 221 These events occur during the period when an interface is dropped.
216 222 The event program is invoked just before the interface is removed
217 223 from DHCP control. If the interface has been abandoned due the user
218 224 unplumbing the interface, then this event will occur after the
219 225 user's action has taken place. The interface might not be present.
220 226
221 227
222 228 INFORM and INFORM6
223 229
224 230 These events occur when an interface acquires new or updated
225 231 configuration information from a DHCP server by means of the DHCPv4
226 232 INFORM or the DHCPv6 Information-Request message. These messages
227 233 are sent using an ifconfig(1M) dhcp inform command or when the
228 234 DHCPv6 Router Advertisement O (letter 0) bit is set and the M bit
229 235 is not set. Thus, these events occur when the DHCP client does not
230 236 obtain an IP address lease from the server, and instead obtains
231 237 only configuration parameters.
232 238
233 239
234 240 LOSS6
235 241
236 242 This event occurs during lease expiration when one or more valid
237 243 leases still remain. The event program is invoked just before
238 244 expired addresses are removed. Those being removed will be marked
239 245 with the IFF_DEPRECATED flag.
240 246
241 247 Note that this event is not associated with the receipt of the
242 248 Reply message, which occurs only when one or more valid leases
243 249 remain, and occurs only with DHCPv6. If all leases have expired,
244 250 then the EXPIRE6 event occurs instead.
245 251
246 252
247 253 RELEASE and RELEASE6
248 254
249 255 This event occurs during the period when a leased address is
250 256 released. The event program is invoked just before dhcpagent
251 257 relinquishes the address on an interface and sends the DHCPv4
252 258 RELEASE or DHCPv6 Release packet to the DHCP server.
253 259
254 260
255 261
256 262 The system does not provide a default event program. The file
257 263 /etc/dhcp/eventhook is expected to be owned by root and have a mode of
258 264 755.
259 265
260 266
261 267 The event program will be passed two arguments, the interface name and
262 268 the event name, respectively. For DHCPv6, the interface name is the
263 269 name of the physical interface.
264 270
265 271
266 272 The event program can use the dhcpinfo(1) utility to fetch additional
267 273 information about the interface. While the event program is invoked on
268 274 every event defined above, it can ignore those events in which it is
269 275 not interested. The event program runs with the same privileges and
270 276 environment as dhcpagent itself, except that stdin, stdout, and stderr
271 277 are redirected to /dev/null. Note that this means that the event
272 278 program runs with root privileges.
273 279
274 280
275 281 If an invocation of the event program does not exit after 55 seconds,
276 282 it is sent a SIGTERM signal. If does not exit within the next three
277 283 seconds, it is terminated by a SIGKILL signal.
278 284
279 285
280 286 See EXAMPLES for an example event program.
281 287
282 288 OPTIONS
283 289 The following options are supported:
284 290
285 291 -a
286 292
287 293 Adopt a configured IPv4 interface. This option is for use with
288 294 diskless DHCP clients. In the case of diskless DHCP, DHCP has
289 295 already been performed on the network interface providing the
290 296 operating system image prior to running dhcpagent. This option
291 297 instructs the agent to take over control of the interface. It is
292 298 intended primarily for use in boot scripts.
293 299
294 300 The effect of this option depends on whether the interface is being
295 301 adopted.
296 302
297 303 If the interface is being adopted, the following conditions apply:
298 304
299 305 dhcpagent uses the client id specified in /chosen:<client_id>, as
300 306 published by the PROM or as specified on a boot(1M) command line.
301 307 If this value is not present, the client id is undefined. The DHCP
302 308 server then determines what to use as a client id. It is an error
303 309 condition if the interface is an Infiniband interface and the PROM
304 310 value is not present.
305 311
306 312 If the interface is not being adopted:
307 313
308 314 dhcpagent uses the value stored in /etc/default/dhcpagent. If this
309 315 value is not present, the client id is undefined. If the interface
310 316 is Infiniband and there is no value in /etc/default/dhcpagent, a
311 317 client id is generated as described by the draft document on DHCP
312 318 over Infiniband, available at:
313 319
314 320 http://www.ietf.org
315 321
316 322
317 323
318 324 -d n
319 325
320 326 Set debug level to n. Two levels of debugging are currently
321 327 available, 1 and 2; the latter is more verbose.
322 328
323 329
324 330 -f
325 331
326 332 Run in the foreground instead of as a daemon process. When this
327 333 option is used, messages are sent to standard error instead of to
328 334 syslog(3C).
329 335
330 336
331 337 -v
332 338
333 339 Provide verbose output useful for debugging site configuration
334 340 problems.
335 341
336 342
337 343 EXAMPLES
338 344 Example 1 Example Event Program
339 345
340 346
341 347 The following script is stored in the file /etc/dhcp/eventhook, owned
342 348 by root with a mode of 755. It is invoked upon the occurrence of the
343 349 events listed in the file.
344 350
345 351
346 352 #!/bin/sh
347 353
348 354 (
349 355 echo "Interface name: " $1
350 356 echo "Event: " $2
351 357
352 358 case $2 in
353 359 "BOUND")
354 360 echo "Address acquired from server "\
355 361 `/sbin/dhcpinfo -i $1 ServerID`
356 362 ;;
357 363 "BOUND6")
358 364 echo "Addresses acquired from server " \
359 365 `/sbin/dhcpinfo -v6 -i $1 ServerID`
360 366 ;;
361 367 "EXTEND")
362 368 echo "Lease extended for " \
363 369 `sbin/dhcpinfo -i $1 LeaseTim`" seconds"
364 370 ;;
365 371 "EXTEND6")
366 372 echo "New lease information obtained on $i"
367 373 ;;
368 374 "EXPIRE" | "DROP" | "RELEASE")
369 375 ;;
370 376
371 377 esac
372 378 ) >/var/run/dhcp_eventhook_output 2>&1
373 379
374 380
375 381
376 382
377 383 Note the redirection of stdout and stderr to a file.
378 384
379 385
380 386 FILES
381 387 /etc/dhcp/if.dhc
382 388 /etc/dhcp/if.dh6
383 389
|
↓ open down ↓ |
268 lines elided |
↑ open up ↑ |
384 390 Contains the configuration for interface. The mere existence of
385 391 this file does not imply that the configuration is correct, since
386 392 the lease might have expired. On start-up, dhcpagent confirms the
387 393 validity of the address using REQUEST (for DHCPv4) or Confirm
388 394 (DHCPv6).
389 395
390 396
391 397 /etc/dhcp/duid
392 398 /etc/dhcp/iaid
393 399
394 - Contains persistent storage for DUID (DHCP Unique Identifier) and
395 - IAID (Identity Association Identifier) values. The format of these
396 - files is undocumented, and applications should not read from or
397 - write to them.
400 + Contains persistent storage for system-generated DUID (DHCP Unique
401 + Identifier) and interface-specific IAID (Identity Association
402 + Identifier) values which are used if no CLIENT_ID is defined (see
403 + below). The format of these files is undocumented, and applications
404 + should not read from or write to them. Instead, dhcpinfo(1) can be
405 + used to query the dhcpagent for ClientID. For DHCPv6 interfaces,
406 + the result will contain the DUID. For DHCPv4 interfaces with
407 + V4_DEFAULT_IAID_DUID enabled (see below), the result will contain
408 + the IAID and DUID.
398 409
399 410
400 411 /etc/default/dhcpagent
401 412
402 413 Contains default values for tunable parameters. All values may be
403 414 qualified with the interface they apply to by prepending the
404 415 interface name and a period (".") to the interface parameter name.
405 416 The parameters include: the interface parameter name.
406 417
407 418 To configure IPv6 parameters, place the string .v6 between the
408 419 interface name (if any) and the parameter name. For example, to set
409 420 the global IPv6 parameter request list, use .v6.PARAM_REQUEST_LIST.
410 421 To set the CLIENT_ID (DUID) on hme0, use hme0.v6.CLIENT_ID.
411 422
412 423 The parameters include:
413 424
414 425 VERIFIED_LEASE_ONLY
415 426
416 427 Indicates that a RELEASE rather than a DROP should be performed
417 428 on managed interfaces when the agent terminates. Release causes
418 429 the client to discard the lease, and the server to make the
419 430 address available again. Drop causes the client to record the
|
↓ open down ↓ |
12 lines elided |
↑ open up ↑ |
420 431 lease in /etc/dhcp/interface.dhc or /etc/dhcp/interface.dh6 for
421 432 later use. In addition, when the link status changes to up or
422 433 when the system is resumed after a suspend, the client will
423 434 verify the lease with the server. If the server is unreachable
424 435 for verification, then the old lease will be discarded (even if
425 436 it has time remaining) and a new one obtained.
426 437
427 438 Enabling this option is often desirable on mobile systems, such
428 439 as laptops, to allow the system to recover quickly from moves.
429 440
441 + Default value of this option is no.
430 442
443 +
431 444 OFFER_WAIT
432 445
433 - Indicates how long to wait between checking for valid OFFERs
434 - after sending a DISCOVER. For DHCPv6, sets the time to wait
435 - between checking for valid Advertisements after sending a
436 - Solicit.
446 + Indicates how long to wait in seconds between checking for
447 + valid OFFERs after sending a DISCOVER. For DHCPv6, sets the
448 + time to wait between checking for valid Advertisements after
449 + sending a Solicit.
437 450
451 + Default value of this option is 3.
438 452
453 +
439 454 CLIENT_ID
440 455
441 456 Indicates the value that should be used to uniquely identify
442 457 the client to the server. This value can take one of three
443 458 basic forms:
444 459
445 460 decimal,data...
446 461 0xHHHHH...
447 462 "string...."
448 463
449 464
450 465 The first form is an RFC 3315 DUID. This is legal for both IPv4
451 466 DHCP and DHCPv6. For IPv4, an RFC 4361 Client ID is constructed
452 467 from this value. In this first form, the format of data...
453 468 depends on the decimal value. The following formats are defined
454 469 for this first form:
455 470
456 471 1,hwtype,time,lla
457 472
458 473 Type 1, DUID-LLT. The hwtype value is an integer in the
459 474 range 0-65535, and indicates the type of hardware. The time
460 475 value is the number of seconds since midnight, January 1st,
461 476 2000 UTC, and can be omitted to use the current system
462 477 time. The lla value is either a colon-separated MAC address
463 478 or the name of a physical interface. If the name of an
464 479 interface is used, the hwtype value can be omitted. For
465 480 example: 1,,,hme0
466 481
467 482
468 483 2,enterprise,hex...
469 484
470 485 Type 2, DUID-EN. The enterprise value is an integer in the
471 486 range 0-4294967295 and represents the SMI Enterprise number
472 487 for an organization. The hex string is an even-length
473 488 sequence of hexadecimal digits.
474 489
475 490
476 491 3,hwtype,lla
477 492
478 493 Type 3, DUID-LL. This is the same as DUID-LLT (type 1),
479 494 except that a time stamp is not used.
480 495
481 496
482 497 *,hex
|
↓ open down ↓ |
34 lines elided |
↑ open up ↑ |
483 498
484 499 Any other type value (0 or 4-65535) can be used with an
485 500 even-length hexadecimal string.
486 501
487 502 The second and third forms of CLIENT_ID are legal for IPv4
488 503 only. These both represent raw Client ID (without RFC 4361), in
489 504 hex, or NVT ASCII string format. Thus, "Sun" and 0x53756E are
490 505 equivalent.
491 506
492 507
508 + V4_DEFAULT_IAID_DUID
509 +
510 + Indicates whether to use, when CLIENT_ID is not defined, a
511 + system-managed, RFC 3315-style (i.e., DHCPv6-style) binding
512 + identifier as documented in RFC 4361, "Node-specific Client
513 + Identifiers for DHCPv4," for IPv4 interfaces which for purposes
514 + of backward compatibility do not normally get default binding
515 + identifiers.
516 +
517 + An IPv4 interface that is not in an IP network multipathing
518 + (IPMP) group, that is not IP over InfiniBand (IPoIB), and that
519 + is not a logical interface does not normally get a default
520 + binding identifier.
521 +
522 + Default value of this option is no.
523 +
524 +
493 525 PARAM_REQUEST_LIST
494 526
495 527 Specifies a list of comma-separated integer values of options
496 528 for which the client would like values, or symbolic Site or
497 529 Option option names. Symbolic option names for IPv4 are
498 530 resolved through /etc/dhcp/inittab. Option names for IPv6 are
499 531 resolved by means of /etc/dhcp/inittab6.
500 532
501 533
502 534 PARAM_IGNORE_LIST
503 535
504 536 Specifies a list of options (constructed in the same manner as
505 537 PARAM_REQUEST_LIST) that the DHCP client will ignore. Ignored
506 538 options are treated as though the server did not return the
507 539 options specified. Ignored options are not visible using
508 540 dhcpinfo(1) or acted on by the client. This parameter can be
509 541 used, for example, to disable an unwanted client name or
510 542 default router.
511 543
512 544
545 + REQUEST_FQDN
546 +
547 + Indicates the client requests the DHCP server to map the
548 + client's leased IPv4 address to the Fully Qualified Domain Name
549 + (FQDN) associated with the network interface that performs DHCP
550 + on the client and to collaborate with a compatible DNS server
551 + to manage A and PTR resource records for the FQDN for the life
552 + of the lease.
553 +
554 + The hostname in the FQDN is determined from the following
555 + possible configurations:
556 +
557 + 1. ipadm(1M): include the -1,--primary flag when creating an
558 + address that uses DHCP so that nodename(4) is used as the
559 + hostname.
560 +
561 + 2. ipadm(1M): include the -h,--reqhost hostname switch when
562 + executing the create-addr -T dhcp subcommand, or use the set-
563 + addrprop -p reqhost=hostname subcommand for any existing DHCP
564 + address.
565 +
566 + 3. nwamcfg(1M): set a property, ip-primary=on, for an ncu ip
567 + that uses DHCP so that nodename(4) is used as the hostname.
568 +
569 + 4. nwamcfg(1M): set a property, ip-reqhost=hostname, for an
570 + ncu ip that uses DHCP.
571 +
572 + The hostname value is either a Partially Qualified Domain Name
573 + (PQDN) or an FQDN (i.e., a "rooted" domain name ending with a
574 + '.' or one inferred to be an FQDN if it contains at least three
575 + DNS labels such as srv.example.com). If a PQDN is specified,
576 + then an FQDN is constructed if either a defaultdomain(4) or a
577 + resolv.conf(4) domain is defined.
578 +
579 + If an FQDN is sent, REQUEST_HOSTNAME processing will not be
580 + done, per RFC 4702 (3.1): "clients that send the Client FQDN
581 + option in their messages MUST NOT also send the Host Name."
582 +
583 + Default value of this option is yes.
584 +
585 +
513 586 REQUEST_HOSTNAME
514 587
515 588 Indicates the client requests the DHCP server to map the
516 589 client's leased IPv4 address to the host name associated with
517 590 the network interface that performs DHCP on the client. The
518 - host name must be specified in the /etc/hostname.interface file
519 - for the relevant interface on a line of the form
591 + host name must be specified as documented for a PQDN in
592 + REQUEST_FQDN above or specified in the /etc/hostname.interface
593 + file for the relevant interface on a line of the form
520 594
521 595 inet hostname
522 596
523 597
524 598 where hostname is the host name requested.
525 599
526 600 This option works with DHCPv4 only.
527 601
602 + Default value of this option is yes.
528 603
529 604
605 +
530 606 /etc/dhcp/eventhook
531 607
532 608 Location of a DHCP event program.
533 609
534 610
535 611 ATTRIBUTES
536 612 See attributes(5) for descriptions of the following attributes:
537 613
538 614
539 615
540 616
541 617 +--------------------+-----------------+
542 618 | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
543 619 +--------------------+-----------------+
544 620 |Interface Stability | Committed |
545 621 +--------------------+-----------------+
546 622
547 623 SEE ALSO
548 624 dhcpinfo(1), ifconfig(1M), init(1M), in.mpathd(1M), in.ndpd(1M),
549 - syslog(3C), attributes(5), dhcp(5)
625 + ipadm(1M), nwamcfg(1M), syslog(3C), defaultdomain(4), nodename(4),
626 + resolv.conf(4), attributes(5), dhcp(5)
550 627
551 628
552 629
553 630
554 631 Croft, B. and Gilmore, J.,Bootstrap Protocol (BOOTP)RFC 951, Network
555 632 Working Group, September 1985.
556 633
557 634
558 635 Droms, R., Dynamic Host Configuration Protocol, RFC 2131, Network
559 636 Working Group, March 1997.
560 637
561 638
562 639 Lemon, T. and B. Sommerfeld. RFC 4361, Node-specific Client Identifiers
563 640 for Dynamic Host Configuration Protocol Version Four (DHCPv4). Nominum
564 641 and Sun Microsystems. February 2006.
565 642
566 643
567 644 Droms, R. RFC 3315, Dynamic Host Configuration Protocol for IPv6
568 645 (DHCPv6). Cisco Systems. July 2003.
569 646
570 647 NOTES
571 648 The dhcpagent daemon can be used on IPv4 logical interfaces, just as
572 649 with physical interfaces. When used on a logical interface, the daemon
573 650 automatically constructs a Client ID value based on the DUID and IAID
574 651 values, according to RFC 4361. The /etc/default/dhcpagent CLIENT_ID
575 652 value, if any, overrides this automatic identifier.
576 653
577 654
578 655 As with physical IPv4 interfaces, the /etc/hostname.hme0:1 and
579 656 /etc/dhcp.hme0:1 files must also be created in order for hme0:1 to be
580 657 automatically plumbed and configured at boot. In addition, unlike
581 658 physical IPv4 interfaces, dhcpagent does not add or remove default
582 659 routes associated with logical interfaces.
583 660
584 661
585 662 DHCP can be performed on IPMP IP interfaces to acquire and maintain
586 663 IPMP data addresses. Because an IPMP IP interface has no hardware
587 664 address, the daemon automatically constructs a Client ID using the same
588 665 approach described above for IPv4 logical interfaces. In addition, the
589 666 lack of a hardware address means the daemon must set the "broadcast"
590 667 flag in all DISCOVER and REQUEST messages on IPMP IP interfaces. Some
591 668 DHCP servers may refuse such requests.
592 669
593 670
594 671 DHCP can be performed on IP interfaces that are part of an IPMP group
595 672 (to acquire and maintain test addresses). The daemon will automatically
596 673 set the NOFAILOVER and DEPRECATED flags on each test address.
597 674 Additionally, the daemon will not add or remove default routes in this
598 675 case. Note that the actual DHCP packet exchange may be performed over
599 676 any active IP interface in the IPMP group. It is strongly recommended
600 677 that test addresses have infinite leases. Otherwise, an extended
601 678 network outage detectable only by probes may cause test address leases
602 679 to expire, causing in.mpathd(1M) to revert to link-based failure
|
↓ open down ↓ |
43 lines elided |
↑ open up ↑ |
603 680 detection and trigger an erroneous repair.
604 681
605 682
606 683 With DHCPv6, the link-local interface must be configured using
607 684 /etc/hostname6.hme0 in order for DHCPv6 to run on hme0 at boot time.
608 685 The logical interfaces for each address are plumbed by dhcpagent
609 686 automatically.
610 687
611 688
612 689
613 - December 11, 2015 DHCPAGENT(1M)
690 + November 7, 2016 DHCPAGENT(1M)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX