Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
The Internet Systems Consortium (ISC) DHCP Server (dhcpd) implements the Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6), and the Internet Bootstrap Protocol (BOOTP). DHCP allows hosts on a TCP/IP network to request and be assigned IP addresses, and also to discover information about the network to which they are attached. BOOTP provides similar functionality, with certain restrictions.
ISC Relay Agent (dhcrelay) provides a means for relaying DHCP and BOOTP requests from a subnet to which no DHCP server is directly connected to one or more DHCP servers on other subnets.
The services above (dhcpd and dhcrelay) are managed using the Service Management Facility (SMF) on Solaris, and should be administered by the svcadm(1M) command using the following fault management resource identifiers (FMRIs):
svc:/network/dhcp/server:ipv4 svc:/network/dhcp/server:ipv6 svc:/network/dhcp/relay:ipv4 svc:/network/dhcp/relay:ipv6
The following dhcpd service configuration properties can be viewed with svcprop(1M) and modified via svccfg(1M):
debug
Send log messages from the DHCP daemon to the standard error descriptor. Setting this property to true ensures the -d command-line option is used when starting dhcpd. This property is set to false by default.
config_file
Path to alternate configuration file. The value of this property is passed as an argument to the -cf command-line option of dhcpd. The default is set to /etc/inet/dhcpd6.conf and /etc/inet/dhcpd4.conf for DHCP v6 and v4 servers respectively.
lease_file
Path to alternate lease file. The value of this property is passed as an argument to the -lf command-line option of dhcpd. The default value is set to /var/db/isc-dhcp/v4.leases for DHCPv4 and /var/db/isc-dhcp/v6.leases for DHCPv6.
listen_ifnames
optional parameter that allows users to specify one or more network interfaces on which dhcpd should serve DHCP requests. This property matches the "if0" command-line option of dhcpd. Note that the interface names must be seperated by a comma. Please see Example 4.
omapi_conn_limit
Value used to limit the number of failover and control connections accepted by the server - the default is 200. Only positive integer values are permissible; a value of 0 means there is no limit. Please see Example 5.
NOTE: This property will be removed in the event ISC removes the underlying functionality. The ISC recommends that customers implement one or more of the work arounds documented in ISC's Knowledge Base article AA-01354 (https://kb.isc.org/article/AA-01354).
The following dhcrelay options are available as service configuration properties and can be viewed with svcprop(1M) and modified via svccfg(1M):
append_agent_option (v4 only)
Setting this option to true ensures the DHCP relay appends an agent option field to each request before forwarding the request to the DHCP server. When this property is set to true, the -a command-line option is used when launching dhcrelay. The default value of this property is false. This option is only applicable to the svc:/network/dhcp/relay:ipv4 service.
listen_ifnames (v4 only)
This option allows users to specify one or more interfaces on which the DHCP relay should listen for DHCPv4/BOOTP queries. This option is only applicable to the svc:/network/dhcp/relay:ipv4 service.
servers (v4 only)
Users must set this property to the IP addresses of one or more servers before enabling the relay service (svc:/network/dhcp/relay:ipv4). The servers property value must be a comma-separated list of IP addresses. This option is only applicable to the svc:/network/dhcp/relay:ipv4 service.
receive_query_links (v6 only)
Users must set this property value to specify the interface(s) on which queries will be received from clients or from other relay agents before enabling the relay service (svc:/network/dhcp/relay:ipv6). This option is only applicable to the svc:/network/dhcp/relay:ipv6 service. See also Example 3.
forward_query_links (v6 only)
Users must set this property value to specify the interface(s) on which queries from clients and other relay agents should be forwarded before enabling the relay service (svc:/network/dhcp/relay:ipv6). The property value is passed as the argument for the -u command-line option to the dhcrelay program. The interface(s) specified must be comma-separated. This option is only applicable to the svc:/network/dhcp/relay:ipv6 service.
Since dhcpd and dhcrelay are managed using SMF no pid files are created.
Example 1 Enabling DHCPv4 Server ISC DHCPv4 server service is disabled by default. The following command enables the ISC DHCPv4 service:
example# svcadm enable svc:/network/dhcp/server:ipv4Example 2 Displaying the configurable properties of DHCPv6 Relay Agent service. The following command displays all configurable properties of DHCPv6 Relay Agent Service:
example# svccfg -s dhcp/relay:ipv6 listprop config config application config/forward_query_links astring config/listen_ifnames astring config/receive_query_links astring config/value_authorization astring solaris.smf.value.dhcp
Example 3 Setting the receive_query_links property value of DHCPv6 Relay Agent service. The following commands will set the receive_links property value to the following values: 10.0.0.1%e10000g#0,bge0,iprb#1
example# svccfg -s dhcp/relay:ipv6 setprop \\ config/receive_query_links= \\ \\(\\"10.0.0.1%e10000g#0\\"\\"bge0\\"\\"iprb#1\\"\\) example# svccfg -s dhcp/relay:ipv6 refresh NOTE: spaces are not allowed in the string within quotes in the setprop command To verify that the property values are set type either the svccfg command or the svcprop command below: example# svccfg -s dhcp/relay:ipv6 listprop config/receive_query_links config/receive_query_links astring "10.0.0.1%e10000g#0" "bge0" "iprb#1" example# svcprop -p config/receive_query_links dhcp/relay:ipv6 10.0.0.1%e10000g#0 bge0 iprb#1Example 4 Setting the listen_ifnames property value for dhcpd. The following commands will set the listen_ifnames property to "bge0, bge1" and then display the updated values.
example# svccfg -s dhcp/server:ipv4 setprop \\ config/listen_ifnames = \\(\\"bge0\\"\\"bge1\\"\\) example# svccfg -s dhcp/server:ipv4 refresh NOTE: spaces are not allowed in the string within quotes in the setprop command To verify that the property values are set type: example# svccfg -s dhcp/server:ipv4 listprop config/listen_ifnames config/listen_ifnames astring "bge0" "bge1"
svccfg(1M), svcprop(1), svcadm(1M), dhcpd(8), dhcrelay(8)