Score:1

Multiple PXE server separate from DHCP

ru flag

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.

ru flag
I keep digging. I can see that proxyDHCP sends answers without an IP address in it. So basically supplying the missing values.
ru flag
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 ?
in flag
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?
Score:0
za flag
Pat

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,

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.