Here’s something I’ve never been able to understand, I’d love if someone could explain it to me.

I have a rack of 2008 R2 servers, all running standard edition. Two of them are domain controllers, both running DHCP (different scopes.)

A third server has the WDS role installed, which works great, most of the time.

I’ve noticed, consistently, that if WDS is stopped, any machine in my environment that attempts PXE boot will stall out at the “DHCP…” phase. Why would that be? My “common sense” tells me that DHCP is a totally separate animal, and should always be available, even if no boot image would be received after being issued an address.

-Mage

9 Spice ups

Right, your WDS server is pointed to in your DHCP scope . When it is unavailable the PXE boot fails.

3 Spice ups

Interesting. Is this some active directory magic that happens behind the scenes when WDS is configured?

Any additional details about why this works this way would be illuminating :slight_smile:

And yes they are two separate animals but DHCP “configures” the client to know where to find the PXE boot info.

3 Spice ups

Not sure, when we set up Clonezilla, we had to manually set the PXE server option in our DHCP scope. WDS may offer to do it for you as part of setup.

Uh, this is by design. Your WDS is your PXE server…

3 Spice ups

I may have misunderstood the documentation, but I thought that configuration was only required if WDS and DHCP lived on the same host.
So if I understand correctly… DHCP knows when a request if PXE related, and will check for the PXE server, and will not issue an address lease to the client if the PXE server is unresponsive. Is that about right?

This helped a little bit as well.

"How DHCP Authorization Works

When a Pre-Boot Execution Environment (PXE) boot is initiated, the PXE ROM requests an IP address from a Dynamic Host Configuration Protocol (DHCP) server, using the normal DHCP discovery process. As part of the initial DHCP discovery request, the client computer identifies itself as being PXE-enabled, which indicates to the PXE server that the client needs to be serviced. After the client has obtained a valid IP address from a DHCP server, the client attempts to locate and establish a connection with the PXE server to download a network boot program (NBP)."

The above text doesn’t really mention anything about the DHCP server choosing not to respond when the PXE server is offline, but I guess the proof is in the pudding.

Thanks all!

DHCP isn’t the part that is not responding, it’s the down PXE server. PXE is the remote boot portion, DHCP is to autoconfigure the client to know where to go to find the PXE server. In our clonzilla “build LAN” we had the DHCP server service and the PXE server (Clonezilla) on the same linux box.

1 Spice up

The WDS server actually listens on port UDP 67 and if the PXE client is on the same LAN as the WDS server no DHCP options are required on the DHCP server. However, if the PXE client isn’t on the same LAN as the WDS server then the DHCP options are required for the PXE client to be able to communicate to the WDS server. This is because a DHCP broadcast doesn’t traverse layer 3 boundaries.

WDS option 066, 067 or 060 is configured in DHCP. It relays the PXE requests to DHCP to get an address before proceeding. Lots of boot config info in there.

Gives a good explanation. It looks like a DHCP failure, but it’s not. Your “regular” DHCP server did its thing and gave the machine an address but no boot file information.

The initial discover gets two responses - The DHCP server says “Here’s your IP address” and WDS says “when you’re done talking to her, I can boot you”

When WDS is down, the machine has an IP but no way to boot.

Thank you all, more questions coming from me lol. Comunity ftw