[ipxe-devel] help: Got incorrect next-server when booting from proxyDHCP server

Andrew Bobulsky rulerof at gmail.com
Thu Dec 4 19:21:03 UTC 2014

Hello Peter,

Sorry that you didn't get an answer to this sooner! I ran into a similar
problem some time ago, and this behavior is usually a result of the PXE
spec: if a DHCP and a ProcyDHCP response both specify a boot server, the
spec says that DHCP overrules ProxyDHCP.

iPXE follows the spec on this, but most (or all?) simple PXE
implementations don't.  So, you can chai load iPXE in that environment, but
then iPXE ironically won't boot from the same server that supplied it to
the machine it runs on :P

To work around this, consider embedding an iPXE script into your
chainloaded iPXE.pxe:

set next-server ${proxydhcp/next-server}
set filename ${proxydhcp/filename}
chain $filename

... or something similar to that.  You could use a fairly simple script to
check if things inside the proxydhcp variable scope exist, and boot to it
if the do, or boot from DHCP's offerings instead when they don't.

Best Regards,

P.S. Weird, but your email address seems to have gotten mangled somewhere
down the line. I pulled what looks to be the correct info from the headers
and entered it manually.

On Friday, November 21, 2014, @centran.cn linql @centran.cn <linql> wrote:

> ------------------------------
>  hi, there
> It seems that I have encountered the same problem with Floris Bos in the
> mailing list (http://comments.gmane.org/gmane.network.ipxe.devel/1171).
> My booting log shows that PXE stack has no problem with distinguishing the
> regular DHCP server and proxyDHCP server, and will download ipxe.pxe
> from proxyDHCP server normally. But when running 'show next-server' under
> IPXE shell, the result comes out to be the address of the regular DHCP
> server.
> In the mailing list, Brandon replied that it's something to do with the
> DNSMasq stuff. Is that true?  Or a bug of ipxe?
> I am also using dnsmasq as the proxyDHCP server, and the dnsmasq
> configuration is as follows:
> dhcp-no-override
> port=0
> log-dhcp
> enable-tftp
> tftp-root=/var/lib/tftpboot
> dhcp-range=,proxy
> dhcp-option=vendor:PXEClient,6,2b
> pxe-service=x86PC,"booting from network",ipxe.pxe
> Thanks,
> Peter Lin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20141204/c920a870/attachment.htm>

More information about the ipxe-devel mailing list