isc-dhcp - ISC Dynamic Host Configuration Protocol Software
Please see following description for synopsis
isc-dhcp(5) File Formats Manual isc-dhcp(5)
NAME
isc-dhcp - ISC Dynamic Host Configuration Protocol Software
DESCRIPTION
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 net-
work to request and be assigned IP addresses, and also to discover
information about the network to which they are attached. BOOTP pro-
vides 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(8) command using the following fault management resource identi-
fiers (FMRIs):
svc:/network/dhcp/server:ipv4
svc:/network/dhcp/server:ipv6
svc:/network/dhcp/relay:ipv4
svc:/network/dhcp/relay:ipv6
After making property changes to the above FMRIs it is necessary to
refresh the service and restart as appropriate for the changes to take
effect.
The following dhcpd service configuration properties can be viewed with
svcprop(1) and modified via svccfg(8):
debug = boolean: false
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 = astring: path
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 = astring: path
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 = astring: ()
An optional property to specify one or more network interfaces on
which dhcpd should serve DHCP requests. The property values are
appended to the dhcpd command-line. Care must be taken when set-
ting this property to multiple interfaces as it is a list-of-
string-values, and not a single comma separated string.
See Example 4.
omapi_conn_limit = integer: 200
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.
See Example 5.
NOTE: This property will be removed in the event ISC removes the
underlying functionality. The ISC recommends that customers imple-
ment one or more of the workarounds 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(1) and modified via svc-
cfg(8):
append_agent_option = boolean: false (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:/net-
work/dhcp/relay:ipv4 service.
listen_ifnames = astring: () (v4 only)
This property is used to specify one or more interfaces on which
the DHCP relay should listen for DHCPv4/BOOTP queries. The prop-
erty value is passed as the argument for, one or more, -i command-
line option(s) of the dhcrelay program. Care must be taken when
setting this property to multiple interfaces as it is a list-of-
string-values, and not a single comma separated string. This
option is only applicable to the svc:/network/dhcp/relay:ipv4 ser-
vice.
See Examples section for how to set list-of-string-values.
servers = astring: () (v4 only)
This property must be set to the IP addresses of one or more
servers before enabling the relay service (svc:/net-
work/dhcp/relay:ipv4). Care must be taken when setting this prop-
erty to multiple values as it is a list-of-string-values, and not a
single comma separated string. This option is only applicable to
the svc:/network/dhcp/relay:ipv4 service.
receive_query_links = astring: () (v6 only)
This property must be set 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).
The property value is passed as the argument for, one or more, -l
command-line option(s) to the dhcrelay program. Care must be taken
when setting this property to multiple interfaces as it is a list-
of-string-values, and not a single comma separated string. This
option is only applicable to the svc:/network/dhcp/relay:ipv6 ser-
vice.
See Example 3.
forward_query_links = astring: () (v6 only)
This property must be set 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, one or more, -u
command-line option(s) to the dhcrelay program. Care must be taken
when setting this property to multiple interfaces as it is a list-
of-string-values, and not a single comma separated string. This
option is only applicable to the svc:/network/dhcp/relay:ipv6 ser-
vice.
Since dhcpd and dhcrelay are managed using SMF no pid files are cre-
ated.
EXAMPLES
In the following examples, property changes have been made on the com-
mand-line where often it is necessary to use the shell escape character
(\) to pass-in values correctly. An alternative option is to use svc-
cfg's editprop feature to edit the values in an editor, where escaping
is then not necessary. For example, the shell-escaped value of
\(\"10.0.0.1%e10000g#0\"\"bge0\"\"iprb#1\"\) can be entered as
("10.0.0.1%e10000g#0" "bge0" "iprb#1"). Refer to svccfg(8) for further
details.
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:ipv4
Example 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_query_links property value,
for which the service will append to the dhcrelay command-line "-l
10.0.0.1%e10000g#0 -l bge0 -l 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 execute either
the svccfg command or the svcprop command as given 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#1
Example 4 Setting the listen_ifnames property value for dhcpd. The
following commands will set the listen_ifnames property to bge0 and
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"
Example 5 Limiting the number of failover and control connections in
dhcpd to 1000 and restarting the service so that the modified property
comes into effect.
example# svccfg -s dhcp/server:ipv4 setprop config/omapi_conn_limit = 1000
example# svccfg -s dhcp/server:ipv4 refresh
example# svcadm restart dhcp/server:ipv4
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+-------------------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-------------------------------+
|Availability | service/network/dhcp/isc-dhcp |
+---------------+-------------------------------+
|Stability | Uncommitted |
+---------------+-------------------------------+
SEE ALSO
svccfg(8), svcprop(1), svcadm(8), dhcpd(8), dhcrelay(8)
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from
http://ftp.isc.org/isc/dhcp/4.4.2-P1/dhcp-4.4.2-P1.tar.gz.
Further information about this software can be found on the open source
community website at http://www.isc.org/software/dhcp/.
Oracle Solaris 11.4 28 Feb 2018 isc-dhcp(5)