Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

According to Wikipedia and a bazillion other pages, you can have:

Proxy DHCP

If a PXE redirection service (Proxy DHCP) receives an extended DHCPDISCOVER, it replies with an extended DHCPOFFER to the client's port 68/UDP (DHCP client port).

An extended DHCPOFFER contains mainly:

  • a PXE Discovery Control field to recommend multicasting, broadcasting, or unicasting to contact PXE boot servers
  • a list of IP addresses of each available PXE Boot Server Type
  • a PXE Boot Menu with each entry representing a PXE Boot Server Type
  • a PXE Boot Prompt telling the user to press a certain key to see the boot menu
  • a timeout to launch the first boot menu entry if it expires

The Proxy DHCP service may also run on the same host as the standard DHCP service. Since two services cannot share port 67/UDP, the Proxy DHCP runs on port 4011/UDP and expects the extended DHCPDISCOVER packets from PXE Clients to be DHCPREQUESTs. The standard DHCP service has to send a special combination of PXE options in its DHCPOFFER, so the PXE client knows to look for a Proxy DHCP on the same host, port 4011/UDP.

I want to implement such a server that sends out these extended responses. I don't mind setting up another daemon just for this purpose, but if I can just configure isc-dhcp-server to send the response that would be ideal.

(before you suggest it, no I can't use syslinux. This is cheating and I'm doing this on an EFI platform and thus have native PXE support)

share|improve this question
add comment

2 Answers

It's talking about the Remote Boot Configuration Protocol (which is based on DHCP, hence the extended DHCP nomanclature). Unfortunately the draft died in 1999 and most PXE clients don't support it very well. I've never seen an OSS Server for it (though some proprietary deployment software does support it to varying levels). For more info you can check out the Draft RFC (Section 3.3 talks about the RBCP specifically).

share|improve this answer
add comment

dsnmasq can do it. It is a 5 liner. http://etherboot.org/wiki/proxydhcp?s[]=dhcp&s[]=proxy

So for me it is not clear why you need your own server. DHCP and PXEBOOT is a very tricky thing. With DHCP Proxy you add a bunch of additional problems. Because the documents are vague and the implementations on the client side terrible, which implies much testing and byte inspecting on the wire.

share|improve this answer
1  
Can you point to an example for dnsmasq that sends a response with multiple boot options? –  MikeyB Jan 11 '12 at 19:59
    
For isc-dhcpd it is documented here: linux.die.net/man/5/dhcp-options and for dnsmasq it is here: thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html –  mailq Jan 11 '12 at 20:17
    
That's useful for dnsmasq, although the manpage for isc-dhcp mentions nothing about PXE. –  MikeyB Jan 11 '12 at 20:26
    
I don't know that DHCP and PXE are a "tricky thing" (Sun machines have been doing it for...like forever!), though getting into using a DHCP Proxy certainly adds an interesting layer of complexity that I'd prefer to avoid myself... –  voretaq7 Jan 11 '12 at 20:28
1  
@voretaq7 It's not actually a DHCP Proxy, it's a Remote Boot Configuration Server, the Wikipedia entry is rife with misnomers. The RBCP Server is completely separate from DHCP (though they can be integrated into the same software, just to keep things interesting) –  Chris S Jan 11 '12 at 20:38
show 3 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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