
I'm trying to set up a PXE server under Debian, but can't see any packages that support the DHCP part of the PXE protocol. I already have tftp running, and my router is running DHCP, so I just need the server that can send out the additional boot-related DHCP options alongside what the router is offering. The 'pxe' package under debian appears only able to run on the proxy dhcp port 4011, which I don't want or need because my PXE server is not running on the same server as the DHCP server. I think that's just a permissions issue but I was hoping for something that "just worked" out of the box. Any suggestions? Thanks James

I got the impression that the DHCP server has to do the job. It's part of the DHCP response, so can't be from separate servers, even if you could get the machine to talk to 2 simultaneously... (normally it takes the first responder) What does that mean? Probably that you can't use the routers DHCP server. On 06/02/2016 11:36 AM, "James Harper via luv-main" <luv-main@luv.asn.au> wrote:
I’m trying to set up a PXE server under Debian, but can’t see any packages that support the DHCP part of the PXE protocol.
I already have tftp running, and my router is running DHCP, so I just need the server that can send out the additional boot-related DHCP options alongside what the router is offering.
The ‘pxe’ package under debian appears only able to run on the proxy dhcp port 4011, which I don’t want or need because my PXE server is not running on the same server as the DHCP server. I think that’s just a permissions issue but I was hoping for something that “just worked” out of the box.
Any suggestions?
Thanks
James
_______________________________________________ luv-main mailing list luv-main@luv.asn.au http://lists.luv.asn.au/listinfo/luv-main

James Harper via luv-main <luv-main@luv.asn.au> wrote:
I'm trying to set up a PXE server under Debian, but can't see any packages that support the DHCP part of the PXE protocol.
ISC DHCP did it for me when I used PXE to install Debian on a laptop in 2008. I had to add options to the configuration but I can't remember the details anymore. Syslinux supplied the boot loader and the root partition was exported over NFS.

On Sat, 6 Feb 2016 12:36:02 AM James Harper via luv-main wrote:
I’m trying to set up a PXE server under Debian, but can’t see any packages that support the DHCP part of the PXE protocol.
Does this blog post help? http://danielboca.blogspot.cz/2012/02/boot-linux-from-network-using-pxe-and.... All the best, Chris -- Chris Samuel : http://www.csamuel.org/ : Melbourne, VIC

Hi James, Have a look at dnsmasq, this is a lightweight daemon that includes functionality of a DNS server, DHCP server and TFTP server. Quite a few small linux based routers use this for the DNS proxy and DHCP server. Here's a random blog post Google found: https://stelfox.net/blog/2013/12/using-dnsmasq-as-a-standalone-tftp-server/ Regards Darryl On 6/02/2016 11:36 AM, James Harper via luv-main wrote:
I’m trying to set up a PXE server under Debian, but can’t see any packages that support the DHCP part of the PXE protocol.
I already have tftp running, and my router is running DHCP, so I just need the server that can send out the additional boot-related DHCP options alongside what the router is offering.
The ‘pxe’ package under debian appears only able to run on the proxy dhcp port 4011, which I don’t want or need because my PXE server is not running on the same server as the DHCP server. I think that’s just a permissions issue but I was hoping for something that “just worked” out of the box.
Any suggestions?
Thanks
James
_______________________________________________ luv-main mailing list luv-main@luv.asn.au http://lists.luv.asn.au/listinfo/luv-main

On Sat, Feb 06, 2016 at 12:36:02AM +0000, James Harper wrote:
Any suggestions?
you seem to have solved your original question, but my suggestion is to serve gpxelinux.0 or ipxe to the client, then you can use http rather than tftp to transfer kernel+initrd or boot/rescue image or whatever. http is faster and IMO more reliable. and both will give you access to various extras like menus. BTW, an alias (and Allow/Deny access control directives) in your web server to serve, e.g., /var/tftp/ as /tftp/ is useful. craig -- craig sanders <cas@taz.net.au>

Craig Sanders via luv-main writes:
On Sat, Feb 06, 2016 at 12:36:02AM +0000, James Harper wrote:
Any suggestions?
you seem to have solved your original question, but my suggestion is to serve gpxelinux.0 or ipxe to the client, then you can use http rather than tftp to transfer kernel+initrd or boot/rescue image or whatever.
http is faster and IMO more reliable.
I tested this recently. TFTP is not significantly slower *iff* the PXE client supports large block sizes. (dnsmasq 2.52-1ubuntu0.1 vs. untuned apache 2.2.14-5ubuntu8.15). dnsmasq will negotiate large blocks by default (--tftp-no-blocksize) pxelinux will negotiate large blocks by default. curl will NOT negotiate large blocks by default (--tftp-blksize). pxe-kexec doesn't support large blocks at all. SIGH. Intel PXE ROM I'm not sure about, because I couldn't read the source, and it only loads pxelinux.0 here, which isn't big enough to measure. (I didn't bother to tcpdump.) If you already have an httpd set up (and secured), it's certainly more CONVENIENT to just use that. Of course, you still have to load the gPXE/iPXE payload somehow. :-) OTOH if you're already using dnsmasq as DHCP server & DNS proxy, turning on its TFTP server is a no-brainer. Recommend --tftp-secure, which makes dnsmasq even more picky. If you run a generic tftp server like tftpd-hpa, be sure to turn off write access &c! Otherwise your users will start uploading pwned payloads.
BTW, an alias (and Allow/Deny access control directives) in your web server to serve, e.g., /var/tftp/ as /tftp/ is useful.
The usual place is /srv/tftp these days.
participants (8)
-
Chris Samuel
-
Craig Sanders
-
Darryl Ross
-
James Harper
-
Jason White
-
Paul van den Bergen
-
Piers Rowan
-
trentbuck@gmail.com