Dynamic Host Configuration Protocol (DHCP) enables host systems in a TCP/IP network to be configured automatically for the network as they boot. DHCP uses a client/server mechanism: servers store configuration information for clients, and provide that information upon a client's request. The information can include the client's IP address and information about network services available to the client.
This manual page provides a brief summary of the Solaris DHCP implementation.
The Solaris DHCP client is implemented as background daemon, dhcpagent(1M).
For IPv4, this daemon is started automatically during bootup if there exists at least one dhcp.interface file in /etc. Only interfaces with a corresponding /etc/dhcp.interface file are automatically configured during boot.
For IPv6, this daemon is started automatically when commanded by in.ndpd (based on IPv6 Routing Advertisement messages). No /etc/dhcp.interface file is necessary, but such a file can be used to specify an interface as “primary,” provided that IPv4 DHCP is also in use.
Network parameters needed for system configuration during bootup are extracted from the information received by the daemon through the use of the dhcpinfo(1) command. The daemon's default behavior can be altered by changing the tunables in the /etc/default/dhcpagent file. The daemon is controlled by the ifconfig(1M) utility. Check the status of the daemon using the netstat(1M) and ifconfig(1M) commands.
The Solaris DHCP server is implemented as a background daemon, in.dhcpd(1M). This daemon can deliver network configuration information to either BOOTP or DHCP clients. The Solaris DHCP service can be managed using the dhcpmgr(1M) GUI or the command line utilities dhcpconfig(1M), dhtadm(1M), and pntadm(1M).
The Solaris DHCP server stores client configuration information in the following two types of tables:
Contain macros and options (also known as symbols), used to construct a package of configuration information to send to each DHCP client. There exists only one dhcptab for the DHCP service. The dhcptab(4) can be viewed and modified using the dhtadm(1M) command or dhcpmgr(1M) graphical utility. See dhcptab(4) for more information about the syntax of dhcptab records. See dhcp_inittab(4) for more information about the DHCP options and symbols.
DHCP network tables, which contain mappings of client IDs to IP addresses and parameters associated with those addresses. Network tables are named with the IP address of the network, and can be created, viewed, and modified using the pntadm command or dhcpmgr graphical utility. See dhcp_network(4) for more information about network tables.
dhcpinfo(1), dhcpagent(1M), dhcpconfig(1M), dhcpmgr(1M), dhtadm(1M), ifconfig(1M), in.dhcpd(1M), in.ndpd(1M), netstat(1M), pntadm(1M), syslog(3C), dhcp_network(4), dhcptab(4), dhcpsvc.conf(4), dhcp_inittab(4), ndpd.conf(4), dhcp_modules(5)
Alexander, S., and R. Droms. RFC 2132, DHCP Options and BOOTP Vendor Extensions. Silicon Graphics, Inc. Bucknell University. March 1997.
Droms, R. RFC 1534, Interoperation Between DHCP and BOOTP. Bucknell University. October 1993.
Droms, R. RFC 2131, Dynamic Host Configuration Protocol. Bucknell University. March 1997.
Wimer, W. RFC 1542, Clarifications and Extensions for the Bootstrap Protocol. Carnegie Mellon University. October 1993.
Lemon, T. and B. Sommerfeld. RFC 4361, Node-specific Client Identifiers for Dynamic Host Configuration Protocol Version Four (DHCPv4). Nominum and Sun Microsystems. February 2006.
Droms, R. RFC 3315, Dynamic Host Configuration Protocol for IPv6 (DHCPv6). Cisco Systems. July 2003.