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

Glenn Satchell glenn.satchell at uniq.com.au
Tue Oct 21 14:11:37 UTC 2014


I do that with a PXE class in the server dhcpd.conf:

class "PXE" {
  match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
  next-server server.example.com.au;
  filename "pxegrub.I86PC.Solaris_10-1";
  # 10 minutes should be long enough for PXE
  max-lease-time 600;
}

But I agree with the OP, the server should recognise the same server
sending a DHCPDISCOVER and not abandon the lease. Maybe there is something
in the discover packet that makes it look a different client, even with
the option to ignore UID.

regards,
-glenn

On Wed, October 22, 2014 12:12 am, Patrick Trapp wrote:
> 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?
>
> Patrick
>
> ________________________________________
> From: dhcp-users-bounces at lists.isc.org [dhcp-users-bounces at lists.isc.org]
> on behalf of Stephen Borrill [dhcp-users at borrill.org.uk]
> Sent: Tuesday, October 21, 2014 5:32 AM
> To: dhcp-users at lists.isc.org
> Subject: 2 IP addresses when PXE booting, ping check doesn't spot same MAC
>      address
>
> 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:
>
> 10:44:32 dhcpd: DHCPDISCOVER from 36:06:41:1a:62:59 (pcmaster)
> 10:44:33 dhcpd: DHCPOFFER on 10.0.13.25 to 36:06:41:1a:62:59
> 10:44:35 dhcpd: DHCPREQUEST for 10.0.13.25 (10.0.0.1) from
> 36:06:41:1a:62:59
> 10:44:35 dhcpd: DHCPACK on 10.0.13.25 to 36:06:41:1a:62:59
> 10:47:18 dhcpd: DHCPDISCOVER from 36:06:41:1a:62:59
> 10:47:18 dhcpd: Abandoning IP address 10.0.13.25: pinged before offer
> 10:47:20 dhcpd: DHCPDISCOVER from 36:06:41:1a:62:59
> 10:47:21 dhcpd: DHCPOFFER on 10.0.19.232 to 36:06:41:1a:62:59 (pcmaster)
> 10:47:21 dhcpd: DHCPREQUEST for 10.0.19.232 (10.0.0.1) from
> 36:06:41:1a:62:59 (pcmaster)
> 10:47:21 dhcpd: DHCPACK on 10.0.19.232 to 36:06:41:1a:62:59 (pcmaster)
>
> (slightly edited to remove extraneous information such as date, hostname
> and interface name)
>
> 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?
>
> --
> Stephen
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users
>




More information about the dhcp-users mailing list