in.dhcpd(1M) System Administration Commands in.dhcpd(1M)
NAME
in.dhcpd - Dynamic Host Configuration Protocol server
SYNOPSIS
/usr/lib/inet/in.dhcpd [-denv] [-h relay_hops] [-i interface, ...] [-l syslog_local_facility] [-b automatic | manual] [-o DHCP_offer_time]
[-t dhcptab_rescan_interval]
/usr/lib/inet/in.dhcpd [-dv] [-h relay_hops] [-i interface,...] [-l syslog_local_facility] -r IP_address | hostname, ...
DESCRIPTION
in.dhcpd is a daemon that responds to Dynamic Host Configuration Protocol (DHCP) requests and optionally to BOOTP protocol requests. The
daemon forks a copy of itself that runs as a background process. It must be run as root. The daemon has two run modes, DHCP server (with
optional BOOTP compatibility mode) and BOOTP relay agent mode.
The first line in the SYNOPSIS section illustrates the options available in the DHCP/BOOTP server mode. The second line in the SYNOPSIS
section illustrates the options available when the daemon is run in BOOTP relay agent mode.
The DHCP and BOOTP protocols are used to provide configuration parameters to Internet hosts. Client machines are allocated their IP
addresses as well as other host configuration parameters through this mechanism.
The DHCP/BOOTP daemon manages two types of DHCP data tables: the dhcptab configuration table and the DHCP network tables.
See dhcptab(4) regarding the dhcptab configuration table and dhcp_network(4) regarding the DHCP network tables.
The dhcptab contains macro definitions defined using a termcap-like syntax which permits network administrators to define groups of DHCP
configuration parameters to be returned to clients. However, a DHCP/BOOTP server always returns hostname, network broadcast address, net-
work subnet mask, and IP maximum transfer unit (MTU) if requested by a client attached to the same network as the server machine. If those
options have not been explicitly configured in the dhcptab, in.dhcpd returns reasonable default values.
The dhcptab is read at startup, upon receipt of a SIGHUP signal, or periodically as specified by the -t option. A SIGHUP (sent using the
command svcadm refresh network/dhcp-server) causes the DHCP/BOOTP daemon to reread the dhcptab within an interval from 0-60 seconds
(depending on where the DHCP daemon is in its polling cycle). For busy servers, users should run svcadm restart network/dhcp-server to
force the dhcptab to be reread.
The DHCP network tables contain mappings of client identifiers to IP addresses. These tables are named after the network they support and
the datastore used to maintain them.
The DHCP network tables are consulted during runtime. A client request received from a network for which no DHCP network table exists is
ignored.
This command may change in future releases of Solaris software. Scripts, programs, or procedures that use this command might need modifica-
tion when upgrading to future Solaris software releases.The command line options provided with the in.dhcpd daemon are used only for the
current session, and include only some of the server options you can set. The dhcpsvc.conf(4) contains all the server default settings, and
can be modified by using the dhcpmgr utility. See dhcpsvc.conf(4) for more details.
OPTIONS
The following options are supported:
-b automatic | manual
This option enables BOOTP compatibility mode, allowing the DHCP server to respond to BOOTP clients. The option argument specifies
whether the DHCP server should automatically allocate permanent lease IP addresses to requesting BOOTP clients if the clients are not
registered in the DHCP network tables (automatic) or respond only to BOOTP clients who have been manually registered in the DHCP net-
work tables ( manual). This option only affects DHCP server mode.
-d
Debugging mode. The daemon remains as a foreground process, and displays verbose messages as it processes DHCP and/or BOOTP datagrams.
Messages are displayed on the current TTY. This option can be used in both DHCP/BOOTP server mode and BOOTP relay agent mode.
-h relay_hops
Specifies the maximum number of relay agent hops that can occur before the daemon drops the DHCP/BOOTP datagram. The default number of
relay agent hops is 4. This option affects both DHCP/BOOTP server mode and BOOTP relay agent mode.
-i interface, ...
Selects the network interfaces that the daemon should monitor for DHCP/BOOTP datagrams. The daemon ignores DHCP/BOOTP datagrams on net-
work interfaces not specified in this list. This option is only useful on machines that have multiple network interfaces. If this
option is not specified, then the daemon listens for DHCP/BOOTP datagrams on all network interfaces. The option argument consists of a
comma-separated list of interface names. It affects both DHCP/BOOTP server and BOOTP relay agent run modes.
-l syslog_local_facility
The presence of this option turns on transaction logging for the DHCP server or BOOTP relay agent. The value specifies the syslog local
facility (an integer from 0 to 7 inclusive) the DHCP daemon should use for tagging the transactions. Using a facility separate from the
LOG_DAEMON facility allows the network administrator to capture these transactions separately from other DHCP daemon events for such
purposes as generating transaction reports. See syslog(3C), for details about local facilities. Transactions are logged using a record
with 9 space-separated fields as follows:
1. Protocol:
Relay mode: "BOOTP"
Server mode: "BOOTP" or "DHCP" based upon client
type.
2. Type:
Relay mode: "RELAY-CLNT", "RELAY-SRVR"
Server mode: "ASSIGN", "EXTEND", "RELEASE",
"DECLINE", "INFORM", "NAK" "ICMP-ECHO."
3. Transaction time: absolute time in seconds (unix time)
4. Lease time:
Relay mode: Always 0.
Server mode: 0 for ICMP-ECHO events, absolute time in
seconds (unix time) otherwise
5. Source IP address: Dotted Internet form
Relay mode: Relay interface IP on RELAY-CLNT,
INADDR_ANY on RELAY-SRVR.
Server mode: Client IP.
6. Destination IP address: Dotted Internet form
Relay mode: Client IP on RELAY-CLNT, Server IP on
RELAY-SRVR.
Server mode: Server IP.
7. Client Identifier: Hex representation (0-9, A-F)
Relay mode: MAC address
Server mode: BOOTP - MAC address; DHCP - client id
8. Vendor Class identifier (white space converted to periods (.)).
Relay mode: Always "N/A"
Server mode: Vendor class ID tokenized by
converting white space characters
to periods (.)
9. MAC address: Hex representation (0-9, A-F)
Relay mode: MAC address
Server mode: MAC address
The format of this record is subject to change between releases.
Transactions are logged to the console if daemon is in debug mode (-d).
Logging transactions impact daemon performance.
It is suggested that you periodically rotate the DHCP transaction log file to keep it from growing until it fills the filesystem. This
can be done in a fashion similar to that used for the general system message log /var/adm/messages and is best accomplished using the
facilities provided by logadm(1M).
-n
Disable automatic duplicate IP address detection. When this option is specified, the DHCP server does not attempt to verify that an IP
address it is about to offer a client is not in use. By default, the DHCP server pings an IP address before offering it to a DHCP/BOOTP
client, to verify that the address is not in use by another machine.
-o DHCP_offer_time
Specifies the number of seconds the DHCP server should cache the offers it has extended to discovering DHCP clients. The default set-
ting is 10 seconds. On slow network media, this value can be increased to compensate for slow network performance. This option affects
only DHCP server mode.
-r IP_address | hostname, ...
This option enables BOOTP relay agent mode. The option argument specifies a comma-separated list of IP addresses or hostnames of DHCP
or BOOTP servers to which the relay agent is to forward BOOTP requests. When the daemon is started in this mode, any DHCP tables are
ignored, and the daemon simply acts as a BOOTP relay agent.
A BOOTP relay agent listens to UDP port 68, and forwards BOOTP request packets received on this port to the destinations specified on
the command line. It supports the BROADCAST flag described in RFC 1542. A BOOTP relay agent can run on any machine that has knowledge
of local routers, and thus does not have to be an Internet gateway machine.
Note that the proper entries must be made to the netmasks database so that the DHCP server being served by the BOOTP relay agents can
identify the subnet mask of the foreign BOOTP/DHCP client's network. See netmasks(4) for the format and use of this database.
-t dhcptab_rescan_interval
Specifies the interval in minutes that the DHCP server should use to schedule the automatic rereading of the dhcptab information. Typi-
cally, you would use this option if the changes to the dhcptab are relatively frequent. Once the contents of the dhcptab have stabi-
lized, you can turn off this option to avoid needless reinitialization of the server.
-v
Verbose mode. The daemon displays more messages than in the default mode. Note that verbose mode can reduce daemon efficiency due to
the time taken to display messages. Messages are displayed to the current TTY if the debugging option is used; otherwise, messages are
logged to the syslogd facility. This option can be used in both DHCP/BOOTP server mode and BOOTP relay agent mode.
EXAMPLES
Example 1: Starting a DHCP Server in BOOTP Compatibility Mode
The following command starts a DHCP server in BOOTP compatibility mode, permitting the server to automatically allocate permanent IP
addresses to BOOTP clients which are not registered in the server's table; limits the server's attention to incoming datagrams on network
devices le2 and tr0; drops BOOTP packets whose hop count exceeds 2; configures the DHCP server to cache extended DHCP offers for 15 sec-
onds; and schedules dhcptab rescans to occur every 10 minutes:
# in.dhcpd -i le2,tr0 -h 2 -o 15 -t 10 -b automatic
Example 2: Starting the Daemon in BOOTP Relay Agent Mode
The following command starts the daemon in BOOTP relay agent mode, registering the hosts bladerunner and 10.0.0.5 as relay destinations,
with debugging and verbose modes enabled, and drops BOOTP packets whose hop count exceeds 5:
# in.dhcpd -d -v -h 5 -r bladerunner,10.0.0.5
FILES
/etc/inet/dhcpsvc.conf
/etc/init/hosts
/usr/lib/inet/dhcp/nsu/rfc2136.so.1
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWdhcsu |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
SEE ALSO
svcs(1), cron(1M), dhcpmgr(1M), dhtadm(1M), inetadm(1M), inetd(1M), logadm(1M), pntadm(1M), svcadm(1M), syslogd(1M), syslog(3C),
dhcpsvc.conf(4), dhcp_network(4), dhcptab(4), ethers(4), hosts(4), netmasks(4), nsswitch.conf(4), attributes(5), dhcp(5), smf(5)
System Administration Guide: IP Services
Alexander, S., and R. Droms, DHCP Options and BOOTP Vendor Extensions, RFC 2132, Silicon Graphics, Inc., Bucknell University, March 1997.
Droms, R., Interoperation Between DHCP and BOOTP, RFC 1534, Bucknell University, October 1993.
Droms, R., Dynamic Host Configuration Protocol, RFC 2131, Bucknell University, March 1997.
Wimer, W., Clarifications and Extensions for the Bootstrap Protocol, RFC 1542, Carnegie Mellon University, October 1993.
NOTES
The in.dhcpd service is managed by the service management facility, smf(5), under the service identifier:
svc:/network/dhcp-server
Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using svcadm(1M). Responsibil-
ity for initiating and restarting this service is delegated to inetd(1M). Use inetadm(1M) to make configuration changes and to view config-
uration information for this service. The service's status can be queried using the svcs(1) command.
SunOS 5.10 10 Aug 2004 in.dhcpd(1M)