8-4
DHCP Server Operation
8.3.4 Options
DHCP (and also BOOTP with Vendor Extensions) provide a mechanism
whereby the server can provide the client with information about how to
configure its network interface (e.g., subnet mask), and also how the client
can access various network services (e.g., IP routers). These options can be
specified on a per-subnet basis, and, for BOOTP clients, also on a per-client
basis. In the event that a BOOTP client declaration specifies options that are
also specified in its subnet declaration, the options specified in the client
declaration take precedence. A reasonably complete DHCP configuration
would take the following form:
subnet 239.252.197.0 netmask 255.255.255.0 {
range 239.252.197.10 239.252.197.250;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 239.252.197.255;
option routers 239.252.197.1;
}
Note that the DHCP client cannot use all the options given in RFC2132 to
actually configure its own IP stack. However, the DHCP server can supply
any of the options given there - this could be useful when using, for
example, a DHCP server with several Microsoft
®
DHCP clients.
8.4 Configuration reference guide
The DHCP configuration file,
dhcpd.con
f, is a free-form ASCII text file. The
file may contain extra tabs and newlines for formatting purposes.
Keywords in the file are case-insensitive.
Comments may be placed anywhere within the file (except within quotes).
Comments begin with the # character and end at the end of the line.
The file essentially consists of a list of statements. Statements fall into two
broad categories – parameters and declarations.
Parameter statements indicate how to do something (e.g., duration of
offered lease), whether to do something (e.g., provision of IP addresses to
unknown clients), or what parameters to provide to the client (e.g.,
use
gateway 220.177.244.
7).
Declarations are used to describe the topology of the network, to describe
clients on the network, to provide addresses that can be assigned to clients,
or to apply a group of parameters to a group of declarations. In any group
of parameters and declarations, all parameters must be specified before any
declarations which depend on those parameters may be specified.