1

I work in an enterprise environment. We have many locations, each with many subnets, and both Linux and Windows everywhere. DHCP servers are centrally located for everything (Or rather, we have 2 each handling half the scope's IPs).

Now I want to get prepared for a fullblown recovery in all locations. So basically I want the DHCP servers to stay in place, but I want multiple PXE servers to be queried. I can see that I can add n different IP helper addresses for the PXE servers. So I should be able to get the DHCP Request to all of them.

In many cases I assume I would spin up a local PXE server, and have all subnets use its pre-allocated IP address as one of the IP helpers. But until that one is running, I would like the location to use the central PXE server.

But, how do I configure the PXE servers to not hand out IP addresses, but only bootp server and filename ? I assume the PXE server would be running both DHCP and TFTP, and I would like the PXE DHCP server to send only option 66+67.

It is difficult to find an explanation of this process. Supposedly a PXE booting device will keep sending out DHCP Discover packets after getting an IP. But how do I identify the packets where I need to answer with 66+67 only ? And how do I configure that ?

In the end, I want both Linux and Windows PXE servers centrally.. So if one platform is hit, it can PXE boot from the other.

3
  • I keep digging. I can see that proxyDHCP sends answers without an IP address in it. So basically supplying the missing values.
    – povlhp
    Sep 9 at 8:40
  • Now I can see it can run on both 67 /udp or 4011/udp (proxyDHCP). Now, do all clients try port 4011 as well ? At least for PXE boot if it does not have option 66/67 ? And how about the race condition then ? Central on port 67, local 4011 ? Will it wait sending out 4011 requests ?
    – povlhp
    Sep 9 at 8:48
  • ProxyDHCP is difficult, at best, to explain. The best is if you can have your main DHCP server provide bootp information as well. But please give more information about your setup, which DHCP servers do you have, and which services do you want from PXE?
    – NiKiZe
    Sep 9 at 15:48
0

You should have your current DHCP infrastructure adding only proxyDHCP servers. When a PXE Client sends the DHCPDISCOVERY broadcast packet it will hit both the DHCP Server and the proxyDHCP Server. The DHCP server will provide the usual IP address and DHCP options. The proxyDHCP will provide the TFTP server IP and the name of the NBP (Network Boot Program) (if the client is not a PXE device the proxyDHCP remains silent). Both Servers will send one DHCPOFFER each and the PXE client will send the 2 corresponding DHCPREQUESTs and it will receive the 2 corresponding DHCPACKs. The PXE client will assemble the received info, set the TCP/IP stack (ip address/dns/default gateway, etc.) and the PXE info (TFTP server IP and NBP name) then it'll proceeds with the Boot sequence TFTPing the NBP and booting from it.

Do not use options 66+67; it is better using the DHCP fields "file" and "next-server" Only proxyDHCP uses port 4011; for more details read the PXE standard,

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.