The
allow
and
deny
statements can be used to control the response of the DHCP server to
various sorts of requests. The allow and deny keywords actually have
different meanings depending on the context. In a pool context, these
keywords can be used to set up access lists for address allocation
pools. In other contexts, the keywords simply control general server
behavior with respect to clients based on scope. In a non-pool
context, the
ignore
keyword can be used in place of the
deny
keyword to prevent logging of denied requests.
Allow, deny and ignore in scope
The following usages of allow and deny will work in any scope,
although it is not recommended that they be used in pool
declarations.
The unknown-clients flag is used to tell dhcpd whether
or not to dynamically assign addresses to unknown clients. Dynamic
address assignment to unknown clients is allowed by default.
The
bootp
keyword
allow bootp;
deny bootp;
ignore bootp;
The bootp flag is used to tell dhcpd whether
or not to respond to bootp queries. Bootp queries are allowed
by default.
The
booting
keyword
allow booting;
deny booting;
ignore booting;
The booting flag is used to tell dhcpd whether or not to respond
to queries from a particular client. This keyword only has meaning
when it appears in a host declaration. By default, booting is
allowed, but if it is disabled for a particular client, then
that client will not be able to get and address from the DHCP server.
The
duplicates
keyword
allow duplicates;
deny duplicates;
Host declarations can match client messages based on the DHCP Client
Identifier option or based on the client's network hardware type and
MAC address. If the MAC address is used, the host declaration will
match any client with that MAC address - even clients with different
client identifiers. This doesn't normally happen, but is possible
when one computer has more than one operating system installed on it -
for example, Microsoft Windows and NetBSD or Linux.
The duplicates flag tells the DHCP server that if a request is
received from a client that matches the MAC address of a host
declaration, any other leases matching that MAC address should be
discarded by the server, even if the UID is not the same. This is a
violation of the DHCP protocol, but can prevent clients whose client
identifiers change regularly from holding many leases at the same time.
By default, duplicates are allowed.
The
declines
keyword
allow declines;
deny declines;
igore declines;
The DHCPDECLINE message is used by DHCP clients to indicate that the
lease the server has offered is not valid. When the server receives
a DHCPDECLINE for a particular address, it normally abandons that
address, assuming that some unauthorized system is using it.
Unfortunately, a malicious or buggy client can, using DHCPDECLINE
messages, completely exhaust the DHCP server's allocation pool. The
server will reclaim these leases, but while the client is running
through the pool, it may cause serious thrashing in the DNS, and it
will also cause the DHCP server to forget old DHCP client address
allocations.
The declines flag tells the DHCP server whether or not to honor
DHCPDECLINE messages. If it is set to deny or ignore in
a particular scope, the DHCP server will not respond to DHCPDECLINE
messages.