Public bug reported:

In Ubuntu 12.04.3 the isc-dhcp-server (v4.1) does not work properly with
diskless boot and ddns.

During diskless boot the server issues an IP.

The machine boots and the OS loads, during loading and to keep ddns
happy the isc-dhcp-client (dhclient) needs to be loaded even though the
machine already has an address.

Because the machine has just booted it has no /var/lib/dhcp/dhclient.leases file
so dhclient does a DISCOVER with the current ip for that interface.

The server has already issued an address (it issued it during boot) so
it does a ping which succeeds as the address is correct.

However dhcpd does not check the MAC so it assumes the address is
already allocated (which it is, correctly) so it issues another new
address and does a DDNS update.  It has now created a DDNS entry to the
wrong address.

This cycle continues until all the addresses for a range are exhausted.

Correct operation:
It should check the MAC resolution after the ping-check and if the MAC matches 
the UID and/or MAC of a previous lease it should change it's usual behaviour.  
It should re-issue the address that was requested and previously allocated and 
behave as though the client did a REQUEST instead of a DISCOVER.

Work round, add
ping-check false;
to the /etc/dhcpd.conf

Though this is not ideal as a ping-check is a good sanity check.

** Affects: isc-dhcp (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: dhcp diskless nfs-root

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1269113

Title:
  isc-dhcpd does not play niceley with diskless boot

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1269113/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to