|
dhcpagent implements the client half of the Dynamic Host Configuration Protocol (DHCP) for machines running Solaris software.
The dhcpagent daemon obtains configuration parameters for the client (local) machine's network interfaces from a DHCP server. These parameters may include a lease on an IP address, which gives the client machine use of the address for the
period of the lease, which may be infinite. If the client wishes to use the IP address for a period longer than the lease, it must negotiate an extension using DHCP. For this reason, dhcpagent must run as a daemon, terminating only when the client
machine powers down.
The dhcpagent daemon is controlled through ifconfig(1M) in much the same way that the init(1M) daemon is controlled by telinit(1M). dhcpagent may be invoked as a user process, albeit one requiring root privileges, but this is
not necessary, as ifconfig(1M) will start it automatically.
When invoked, dhcpagent enters a passive state while it awaits instructions fromifconfig(1M). When it receives a command to configure an interface, it starts DHCP. Once DHCP is complete, dhcpagent may be queried for the values of the various network parameters. In addition, if DHCP was used to obtain a lease on an address for an interface, the interface is configured and brought up. When a lease
is obtained, it is automatically renewed as necessary. If the lease cannot be renewed, dhcpagent will take the interface down at the end of the lease. If the configured interface is found to have a different IP address, subnet mask or broadcast address from those
obtained from DHCP, the interface is abandoned from DHCP control.
In addition to DHCP, dhcpagent also supports BOOTP. See RFC 951, Bootstrap Protocol. Configuration parameters obtained from a BOOTP server are treated identically to those received from
a DHCP server, except that the IP address received from a BOOTP server always has an infinite lease.
DHCP also acts as a mechanism to configure other information needed by the client, for example, the domain name and addresses of routers. Aside from the IP address, netmask, broadcast address and default router, the agent does not directly configure the workstation,
but instead acts as a database which may be interrogated by other programs, and in particular by dhcpinfo(1).
On clients with a single interface, this is quite straightforward. Clients with multiple interfaces may present difficulties, as it is possible that some information arriving on different interfaces may need to be merged, or may be inconsistent. Furthermore, the configuration of the interfaces
is asynchronous, so requests may arrive while some or all of the interfaces are still unconfigured. To handle these cases, one interface may be designated as primary, which makes it the authoritative source for the values of DHCP parameters in the case where no specific interface is
requested. See dhcpinfo(1) and ifconfig(1M)
for details.
The dhcpagent daemon can be configured to request a particular host name. See the REQUEST_HOSTNAME description in the FILES section. When first configuring a client to request a host name, you must perform the following steps as root
to ensure that the full DHCP negotiation takes place:
|
# pkill dhcpagent
# rm /etc/dhcp/interface.dhc
# reboot
|
Messages
|
The dhcpagent daemon writes information and error messages in five categories:
- critical
- Critical messages indicate severe conditions that prevent proper operation.
- errors
- Error messages are important, sometimes unrecoverable events due to resource exhaustion and other unexpected failure of system calls; ignoring errors may lead to degraded functionality.
- warnings
- Warnings indicate less severe problems, and in most cases, describe unusual or incorrect datagrams received from servers, or requests for service that cannot be provided.
- informational
- Informational messages provide key pieces of information that can be useful to debugging a DHCP configuration at a site. Informational messages are generally controlled by the -v option. However, certain critical
pieces of information, such as the IP address obtained, are always provided.
- debug
- Debugging messages, which may be generated at two different levels of verbosity, are chiefly of benefit to persons having access to source code, but may be useful as well in debugging difficult DHCP configuration problems. Debugging messages are only generated
when using the -d option.
When dhcpagent is run without the -f option, all messages are sent to the system logger syslog(3C) at the appropriate matching
priority and with a facility identifier LOG_DAEMON. When dhcpagent is run with the -f option, all messages are directed to standard error.
|
|