During the OSD class last week I did get some questions regarding the use of IP Helpers in the routers or using Option 66 and 67 in the DHCP server, since booth methods seems to be working.
That is kind of true, but in reality not…
The design for PXE is based on IP Helpers. That means that the client should broadcast and say:
– “Hi, I need some IP stuff and I need something to boot on”
How is it supposed to work?
Now, if the router is configured for IP helpers (it already have one that points to the DHCP server, so the only configuration you need to do is “add one more”) the broadcast will be picked up by the router, encapsulated and sent to both the DHCP server as well as the PXE (Windows Deployment Server). The DHCP server will grab a free IP and subnet, gateway addresses that fits the network the client is located on, send it to the router and tell the router to send the packet to the client. The PXE server will “after knowing what kind of computer it is (BIOS / UEFI / x86 / x64) pick the correct boot file and send that information to the router and tell it to send the packet to the client.
This means that the client will receive two different packages and the client will merge them into one, consume the packet and we are done.
What happens when Option 66 & 67 is involved?
Now, let us assume that we don’t have the IP address to the PXE server configured in the IP Helper but instead we have option 66 & 67 configured, well the first part is the same, but the DHCP server will also forward the option 66 & 67 to client, it should work, right?
Sometimes it does, but since the PXE client could not present itself it might or might not get the correct boot file, it basically means that you can either boot on BIOS machines OR you can boot on UEFI machines and the client will not receive two packages (which client expects) so, sometimes it does not handle that correct (depending on firmware, Network Adapter, Vendor and such. It would be possible to create DHCP filters, multiple scopes and such to make UEFI based machines boot on one range of IP’s and otter IP’s for other filters, but that is just pure pain to manage
The number ONE issue we work with at customer sites when it comes to PXE boot is the bloody Option 66 & 67.
So, the short story is very, very simple, just configure the darn routers correctly and have a happy life.
Some notes from others:
PXE booting with WDS – DHCP Scope vs IP Helpers:
Microsoft TechNet: Managing Network Boot Programs:
In this document it says: Although Microsoft does not recommend this method, you can use the following DHCP options to direct PXE clients to an appropriate NBP to download
Microsoft Support: PXE clients computers do not start when you configure the Dynamic Host Configuration Protocol server to use options 60, 66, 67
In this document it clearly says: Important: Microsoft does not support the use of these options on a DHCP server to redirect PXE clients
So, go to the network team, give them a bottle of nice Whiskey and ask the nicely. Problem solved