2 IP addresses when PXE booting, ping check doesn't spot same MAC address

Stephen Borrill dhcp-users at borrill.org.uk
Tue Oct 21 15:02:12 UTC 2014

On 21/10/2014 14:12, Patrick Trapp wrote:
>> I'm using a diskless system to boot Windows (Citrix Provisioning 
>> Services). This does a BIOS PXE boot, loads a bootstrap file from 
>> TFTP which connects to a virtual hard disk and then continues with 
>> the Windows boot as though it were a local disk. This means that the 
>> IP address acquired from the BIOS is inherited by Windows and
>> remains in use. The interface within Windows is still set up to use
>> DHCP and so it goes through its usual DHCP phase.
>> It is common to end up with 2 IP addresses on the network when doing
>>  this. Initially the problem was that the BIOS does not send a UID 
>> with the request, but Windows does, so that dhcpd was treating them 
>> as two separate leases. I upgraded to v4.3.0 and used 
>> "ignore-client-uids true" to stop this. However, this then triggered 
>> another problem. At the time that Windows requests its IP address, 
>> the IP address from the PXE phase is still active as it cannot be 
>> released by the client. Therefore, the dhcpd ping check triggers,
>> the original IP address is abandoned and a new IP address is picked:
>> To test this theory, setting "ping-check false" allows the machine to
>> keep its single initial address.
>> It seems to me that there should be an option to only abandon an IP 
>> address after a ping check if the MAC address that responds does not
>>  match the requester. Any other suggestions?
> Perhaps I miss the point of the request, but I think we have a system
> that does something similar (as far as a two-stage boot). The first
> stage gets a very short lease (I'm not sure how) - is there a client
> option that would override (underride?) the server's default minimum
> lease time that you could utilize?

Problem is that the first stage boot is not just a transitory bootstrap,
it is effectively providing a permanent link to the virtual disk, so the
IP address cannot be released. The usual PXEClient class to modify the
lease time therefore would not help.


More information about the dhcp-users mailing list