The [DHCPServer] section contains settings for the DHCP server,
if enabled via the DHCPServer= option described above:
ServerAddress=
Specifies server address for the DHCP server. Takes an IPv4
address with prefix length, for example "192.168.0.1/24".
This setting may be useful when the link on which the DHCP
server is running has multiple static addresses. When unset,
one of static addresses in the link will be automatically
selected. Defaults to unset.
PoolOffset=, PoolSize=
Configures the pool of addresses to hand out. The pool is a
contiguous sequence of IP addresses in the subnet configured
for the server address, which does not include the subnet nor
the broadcast address. PoolOffset= takes the offset of the
pool from the start of subnet, or zero to use the default
value. PoolSize= takes the number of IP addresses in the
pool or zero to use the default value. By default, the pool
starts at the first address after the subnet address and
takes up the rest of the subnet, excluding the broadcast
address. If the pool includes the server address (the
default), this is reserved and not handed out to clients.
DefaultLeaseTimeSec=, MaxLeaseTimeSec=
Control the default and maximum DHCP lease time to pass to
clients. These settings take time values in seconds or
another common time unit, depending on the suffix. The
default lease time is used for clients that did not ask for a
specific lease time. If a client asks for a lease time longer
than the maximum lease time, it is automatically shortened to
the specified time. The default lease time defaults to 1h,
the maximum lease time to 12h. Shorter lease times are
beneficial if the configuration data in DHCP leases changes
frequently and clients shall learn the new settings with
shorter latencies. Longer lease times reduce the generated
DHCP network traffic.
UplinkInterface=
Specifies the name or the index of the uplink interface, or
one of the special values ":none" and ":auto". When emitting
DNS, NTP, or SIP servers is enabled but no servers are
specified, the servers configured in the uplink interface
will be emitted. When ":auto", the link which has a default
gateway with the highest priority will be automatically
selected. When ":none", no uplink interface will be selected.
Defaults to ":auto".
EmitDNS=, DNS=
EmitDNS= takes a boolean. Configures whether the DHCP leases
handed out to clients shall contain DNS server information.
Defaults to "yes". The DNS servers to pass to clients may be
configured with the DNS= option, which takes a list of IPv4
addresses. If the EmitDNS= option is enabled but no servers
configured, the servers are automatically propagated from an
"uplink" interface that has appropriate servers set. The
"uplink" interface is determined by the default route of the
system with the highest priority. Note that this information
is acquired at the time the lease is handed out, and does not
take uplink interfaces into account that acquire DNS server
information at a later point. If no suitable uplink interface
is found the DNS server data from /etc/resolv.conf is used.
Also, note that the leases are not refreshed if the uplink
network configuration changes. To ensure clients regularly
acquire the most current uplink DNS server information, it is
thus advisable to shorten the DHCP lease time via
MaxLeaseTimeSec= described above.
EmitNTP=, NTP=, EmitSIP=, SIP=, EmitPOP3=, POP3=, EmitSMTP=,
SMTP=, EmitLPR=, LPR=
Similar to the EmitDNS= and DNS= settings described above,
these settings configure whether and what server information
for the indicate protocol shall be emitted as part of the
DHCP lease. The same syntax, propagation semantics and
defaults apply as for EmitDNS= and DNS=.
EmitRouter=
Similar to the EmitDNS= setting described above, this setting
configures whether the DHCP lease should contain the router
option. The same syntax, propagation semantics and defaults
apply as for EmitDNS=.
EmitTimezone=, Timezone=
Takes a boolean. Configures whether the DHCP leases handed
out to clients shall contain timezone information. Defaults
to "yes". The Timezone= setting takes a timezone string (such
as "Europe/Berlin" or "UTC") to pass to clients. If no
explicit timezone is set, the system timezone of the local
host is propagated, as determined by the /etc/localtime
symlink.
SendOption=
Send a raw option with value via DHCPv4 server. Takes a DHCP
option number, data type and data ("option:type:value"). The
option number is an integer in the range 1...254. The type
takes one of "uint8", "uint16", "uint32", "ipv4address",
"ipv6address", or "string". Special characters in the data
string may be escaped using C-style escapes
[18]. This setting
can be specified multiple times. If an empty string is
specified, then all options specified earlier are cleared.
Defaults to unset.
SendVendorOption=
Send a vendor option with value via DHCPv4 server. Takes a
DHCP option number, data type and data ("option:type:value").
The option number is an integer in the range 1...254. The
type takes one of "uint8", "uint16", "uint32", "ipv4address",
or "string". Special characters in the data string may be
escaped using C-style escapes
[18]. This setting can be
specified multiple times. If an empty string is specified,
then all options specified earlier are cleared. Defaults to
unset.
BindToInterface=
Takes a boolean value. When "yes", DHCP server socket will be
bound to its network interface and all socket communication
will be restricted to this interface. Defaults to "yes",
except if RelayTarget= is used (see below), in which case it
defaults defaults to "no".
RelayTarget=
Takes an IPv4 address, which must be in the format described
in inet_pton(3). Turns this DHCP server into a DHCP relay
agent. See RFC 1542
[22]. The address is the address of DHCP
server or another relay agent to forward DHCP messages to and
from.
RelayAgentCircuitId=
Specifies value for Agent Circuit ID suboption of Relay Agent
Information option. Takes a string, which must be in the
format "string:value", where "value" should be replaced with
the value of the suboption. Defaults to unset (means no Agent
Circuit ID suboption is generated). Ignored if RelayTarget=
is not specified.
RelayAgentRemoteId=
Specifies value for Agent Remote ID suboption of Relay Agent
Information option. Takes a string, which must be in the
format "string:value", where "value" should be replaced with
the value of the suboption. Defaults to unset (means no Agent
Remote ID suboption is generated). Ignored if RelayTarget= is
not specified.