'\" te
.\" Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
.TH isc-dhcp 5 "28 Feb 2018" "Oracle Solaris 11.4"
.SH NAME
isc\-dhcp \- ISC Dynamic Host Configuration Protocol Software

.SH DESCRIPTION
.LP
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.
.LP
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.
.LP
The services above (dhcpd and dhcrelay) are managed using the Service
Management Facility (SMF) on Solaris, and should be administered by
the \fIsvcadm\fP(1M) command using the following fault management resource
identifiers (FMRIs):
.LP
.in +2
.nf
svc:/network/dhcp/server:ipv4
svc:/network/dhcp/server:ipv6
svc:/network/dhcp/relay:ipv4
svc:/network/dhcp/relay:ipv6
.fi
.LP
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.
.LP
The following dhcpd service configuration properties can be viewed with
\fIsvcprop\fP(1) and modified via \fIsvccfg\fP(1M):
.sp
.ne 2
.mk
.na
\fBdebug\fR\ =\ \fIboolean:\fR\ false
.ad
.sp .6
.RS 4n
Send log messages from the DHCP daemon to  the  standard  error  descriptor.
Setting this property to true ensures the \fI-d\fR command-line option is
used when starting dhcpd. This property is set to false by default.
.RE
.sp
.ne 2
.mk
.na
\fBconfig_file\fR\ =\ astring: \fIpath\fR
.ad
.sp .6
.RS 4n
Path to alternate configuration file. The value of this property
is passed as an argument to the \fI-cf\fR 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.
.RE
.sp
.ne 2
.mk
.na
\fBlease_file\fR\ =\ astring:\ \fIpath\fR
.ad
.sp .6
.RS 4n
Path to alternate lease file. The value of this property is passed as
an argument to the \fI-lf\fR 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.
.RE
.sp
.ne 2
.mk
.na
\fBlisten_ifnames\fR\ =\ astring:\ \fI()\fR
.ad
.sp .6
.RS 4n
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 setting
this property to multiple interfaces as it is a list-of-string-values,
and not a single comma separated string.
.sp
See Example 4.
.RE
.sp
.ne 2
.mk
.na
\fBomapi_conn_limit\fR\ =\ \fIinteger:\fR 200
.ad
.sp .6
.RS 4n
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.
.sp
See Example 5.
.LP
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 workarounds documented in ISC's Knowledge Base
article \fB\fIAA-01354\fR (\fIhttps://kb.isc.org/article/AA-01354\fP).
.RE
.LP
The following dhcrelay options are available as
service configuration properties and can be viewed with \fIsvcprop\fP(1)
and modified via \fIsvccfg\fP(8):
.sp
.ne 2
.mk
.na
\fBappend_agent_option\fR\ =\ \fIboolean:\fR false (v4 only)
.ad
.sp .6
.RS 4n
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 \fI-a\fR 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.
.RE
.sp
.ne 2
.mk
.na
\fBlisten_ifnames\fR\ =\ astring:\ \fI()\fR (v4 only)
.ad
.sp .6
.RS 4n
This property is used to specify one or more interfaces on which the
DHCP relay should listen for DHCPv4/BOOTP queries.  The property value
is passed as the argument for, one or more, \fI-i\fR 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 service.
.sp
See Examples section for how to set list-of-string-values.
.RE
.sp
.ne 2
.mk
.na
\fBservers\fR\ =\ astring:\ \fI()\fR (v4 only)
.ad
.sp .6
.RS 4n
This property must be set to the IP addresses of one or more
servers before enabling the relay service
(svc:/network/dhcp/relay:ipv4).  Care must be taken when setting this
property 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.
.RE
.sp
.ne 2
.mk
.na
\fBreceive_query_links\fR\ =\ astring:\ \fI()\fR (v6 only)
.ad
.sp .6
.RS 4n
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, \fI-l\fR
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
service.
.sp
See Example 3.
.RE
.sp
.ne 2
.mk
.na
\fBforward_query_links\fR\ =\ astring:\ \fI()\fR (v6 only)
.ad
.sp .6
.RS 4n
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, \fI-u\fR
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 service.
.RE
.LP
Since dhcpd and dhcrelay are managed using SMF no pid files are created.

.SH EXAMPLES
.LP
In the following examples, property changes have been made on the
command-line where often it is necessary to use the shell escape
character (\\) to pass-in values correctly.  An alternative option is
to use svccfg's \fBeditprop\fR feature to edit the values in an
editor, where escaping is then not necessary. For example, the
shell-escaped value
of \fB\\(\\"10.0.0.1%e10000g#0\\"\\"bge0\\"\\"iprb#1\\"\\)\fR can be
entered as \fB("10.0.0.1%e10000g#0" "bge0" "iprb#1")\fR.  Refer to
\fIsvccfg\fP(8) for further details.
.LP
\fBExample\ 1\fR Enabling DHCPv4 Server.
.sp
ISC DHCPv4 server service is disabled by default. The following
command enables the ISC DHCPv4 service:
.sp
.in +2
.nf
example# \fBsvcadm enable svc:/network/dhcp/server:ipv4\fR
.fi
.in -2
.LP
\fBExample\ 2\fR Displaying the configurable properties of DHCPv6 Relay
Agent service.
.sp
The following command displays all configurable properties of
DHCPv6 Relay Agent Service:
.sp
.in +2
.nf
example# \fBsvccfg -s dhcp/relay:ipv6 listprop config\fR
config                      application
config/forward_query_links  astring
config/listen_ifnames       astring
config/receive_query_links  astring
config/value_authorization  astring  solaris.smf.value.dhcp
.fi
.in -2
.LP
\fBExample\ 3\fR Setting the receive_query_links property value of DHCPv6 Relay
Agent service.
.sp
The following commands will set the
receive_query_links property value, for which the service will append
to the dhcrelay command-line "\fI-l 10.0.0.1%e10000g#0 -l bge0 -l iprb#1\fR".
.sp
.in +2
.nf
example# \fBsvccfg -s dhcp/relay:ipv6 setprop \\\fR
    \fBconfig/receive_query_links= \\\fR
    \fB\\(\\"10.0.0.1%e10000g#0\\"\\"bge0\\"\\"iprb#1\\"\\)\fR
example# \fBsvccfg -s dhcp/relay:ipv6 refresh\fR

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# \fBsvccfg -s dhcp/relay:ipv6 listprop config/receive_query_links\fR
config/receive_query_links  astring  "10.0.0.1%e10000g#0" "bge0" "iprb#1"
example# \fBsvcprop -p config/receive_query_links dhcp/relay:ipv6\fR
10.0.0.1%e10000g#0 bge0 iprb#1
.fi
.in -2
.LP
\fBExample\ 4\fR Setting the listen_ifnames property value for dhcpd.
The following commands will set the listen_ifnames property to
\fIbge0\fR and \fIbge1\fR and then display the updated values.
.sp
.in +2
.nf
example# \fBsvccfg -s dhcp/server:ipv4 setprop \\\fR
    \fBconfig/listen_ifnames = \\(\\"bge0\\"\\"bge1\\"\\)\fR
example# \fBsvccfg -s dhcp/server:ipv4 refresh\fR

NOTE: spaces are not allowed in the string within quotes in the
      setprop command.

To verify that the property values are set type:

example# \fBsvccfg -s dhcp/server:ipv4 listprop config/listen_ifnames\fR
config/listen_ifnames  astring  "bge0" "bge1"
.fi
.in -2
.LP
\fBExample\ 5\fR Limiting the number of failover and control connections
in dhcpd to 1000 and restarting the service so that the modified
property comes into effect.
.sp
.in +2
.nf
example# \fBsvccfg -s dhcp/server:ipv4 setprop config/omapi_conn_limit = 1000\fR
example# \fBsvccfg -s dhcp/server:ipv4 refresh\fR
example# \fBsvcadm restart dhcp/server:ipv4\fR
.fi
.in -2

.SH SEE ALSO
.LP
.[
svccfg(8), svcprop(1), svcadm(8), dhcpd(8), dhcrelay(8)
.]