8-2
DHCP Server Operation
dhcpd.leases
file to gain information about which leases have been assigned.
New leases are appended to the end of the lease file. In order to prevent the
file from becoming arbitrarily large, the server periodically creates a new
dhcp.leases
file from its in-memory lease database, controlled by the values
of
DHCP_LEASE_UPDATE_THRESHOLD
and
DHCP_LEASE_UPDATE_PERIOD
.
If the system crashes in the middle of this process, only the lease file
present in flash memory can be restored. This gives a window of
vulnerability whereby leases may be lost.
BOOTP support is also provided by this server. Unlike DHCP, the BOOTP
protocol does not provide a protocol for recovering dynamically-assigned
addresses once they are no longer needed. It is still possible to dynamically
assign addresses to BOOTP clients, but some administrative process for
reclaiming addresses is required. By default, leases are granted to BOOTP
clients in perpetuity, although the network administrator may set an earlier
cut-off date or a shorter lease length for BOOTP leases if that makes sense.
BOOTP clients may be served in the old way, which is to provide a
declaration in the
dhcpd.conf
file for each BOOTP client, permanently
assigning an address to each client.
8.2 DHCP Server Configuration
This section discusses the required format of the
dhcpd.conf
file, first as an
informal guide to the simpler aspects of server configuration, followed by a
more detailed reference section.
8.3 Informal configuration guide
This section provides an overview of the DHCP server configuration
process.
8.3.1 Subnets
The DHCP server software needs to know the subnet numbers and net
masks of all subnets for which it will be providing service. In addition, in
order to dynamically allocate addresses, it must be assigned one or more
ranges of addresses on each subnet which it can in turn assign to client
hosts as they boot. A very simple configuration providing DHCP support
might look like this:
subnet 239.252.197.0 netmask 255.255.255.0 {
range 239.252.197.10 239.252.197.250;
}