Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to have a small dynamic adress part and the most clients are assigned a fixed IP adress.

My dhcpd.conf looks like this:

use-host-decl-names on;
allow client-updates;
ddns-updates on;

# Einstellungen fuer DHCP leases
default-lease-time 3600;
max-lease-time 86400;

lease-file-name "/var/lib/dhcpd/dhcpd.leases";

  subnet netmask {
        ddns-updates on;
    pool {
        # IP range which will be assigned statically
        deny all clients;
    pool {
        # small dynamic range
        range; # used for temporary devices

 group {
    host pc1 {
        hardware ethernet xx:xx:xx:xx:xx:xx;

The motivation for the pool declaration with deny all hosts comes from the ISC DHCPD homepage This will allow hosts to be first added to the network, where they will receive a temporary IP from the 241-254 adress range and then later write an explicit host declaration. Upon next connect it will receive the right configuration.

The problem is that I am getting error messages that has a dynamic and a static lease. I am a bit confused as I expected the pool declaration with deny all clients would not count as dynamic.

  Dynamic and static leases present for
  Remove host declaration pc1 or remove
  from the dynamic address pool for

Is there a way to have the DHCP server send an DHCPNA to clients if they have a host statement and retain this dynamic range?

share|improve this question
I believe your range; would present a problem. Why didn't you just omit the definition of pool entirely? – the-wabbit Apr 4 '12 at 18:16
That is the problem, yes. I have the pool in there because of this page It should send the client a DHCPNAK message and resets it if it has an old lease of the dynamic pool but meanwhile the proper host entry was added. – GorillaPatch Apr 4 '12 at 19:38
Check your /etc/db/dhcpd.leases file, there's probably an outstanding lease for and the server is confused because the existing client is sending a release request. – Chris S Apr 11 '12 at 21:56
up vote 4 down vote accepted

The configuration checker would just match your defined pools and host address definitions against each other to find definition intersections, it would not evaluate access lists.

So you would have to explicitly exclude your host definitions range from the "deny all" pool definition:

pool {
    # IP range which will be assigned statically
    deny all clients;
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.