hello all,<br><br>You implemented the pxe menu system (really messy spec), great work !<br><br>for the proxyDHCP, cant make it work here, what exactly to add to dnsmasq.conf ( never used the dnsmasq before ) ?<br><br>I put only :<br>
<br>interface=eth0<br>dhcp-range=192.168.1.0,proxy<br>log-dhcp <br><br>it output something showing the received packet, but dont respond to the DISCOVER, the output :<br><br>dnsmasq-dhcp: DHCP packet: transaction-id is 2735344808<br>
dnsmasq-dhcp: Available DHCP subnet: <a href="http://192.168.1.0/255.255.255.0">192.168.1.0/255.255.255.0</a><br>dnsmasq-dhcp: Vendor class: PXEClient:Arch:00000:UNDI:002001<br><br>About the 4011 port, the first version of my proxy responded only the DISCOVER with an OFFER, as you described, but some clients (specifically the 3com client of some cards I have here) follows the spec strictly, and if detect a proxyDHCP, they only accept to boot from a filename that come from a REQUEST on port 4011 , they just thrown away the empty IP OFFER that he get on the DISCOVER.<br>
<br>Guilherme Moro<br><br><div class="gmail_quote">2009/3/30 Simon Kelley <span dir="ltr"><<a href="mailto:simon@thekelleys.org.uk">simon@thekelleys.org.uk</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div class="h5">Άλκης Γεωργόπουλος wrote:<br>
> Στις 26-03-2009, ημέρα Πεμ, και ώρα 16:48 +0000, ο/η Simon Kelley<br>
> έγραψε:<br>
>> Alkis,<br>
>><br>
>> Why is pxe <<a href="http://www.kano.org.uk/projects/pxe/" target="_blank">http://www.kano.org.uk/projects/pxe/</a>> not suitable to do this?<br>
><br>
> This project is only suitable for the first scenario that Guilherme<br>
> described - meaning that the server it provides only listens on port<br>
> 4011.<br>
> So the existing DHCP server must be modified to send the string<br>
> "PXEClient".<br>
><br>
> This cannot be done if we don't have control over the DHCP server (and<br>
> we wouldn't really need a proxydhcp if we did), or if the DHCP server<br>
> doesn't support sending custom strings (e.g. a cheap<br>
> modem/router/dhcp-server that cannot be substituted by a proper PC-based<br>
> dhcp server for policy reasons).<br>
><br>
> So someone would have to modify this project to be suitable for the<br>
> second scenario (=actually the only needed one): to listen for<br>
> broadcasted DHCPDISCOVERs on port 67 and answer with an empty DHCPOFFER<br>
> with PXEclient as the vendor identifier. And of course he would have to<br>
> maintain the project (last version = 2004).<br>
><br>
> And then we would have to install dnsmasq as well for the tftp and maybe<br>
> the dns server.<br>
><br>
><br>
> So if you could make dnsmasq (also) act as a proxydhcp, you'd be<br>
> providing us with a clean solution (actually AFAIK the only open source<br>
> working solution), and doing us a great favor... :-)<br>
><br>
><br>
<br>
</div></div>OK, I got a little obsessed by this over the weekend. PXE is badly<br>
designed, implemented worse and documented worst of all. But once I got<br>
my head round it (don't read the docs, use Wireshark) it turned out to<br>
be possible to implement a PXE service, with proxyDHCP, in only 300<br>
lines of extra code. I've not included support for BIS (checksumming<br>
images) or multicast-TFTP which keeps everything simpler.<br>
<br>
The following config is enough to show a simple menu on boot and boot<br>
/var/ftpd/pxelinux.0 when selected<br>
<br>
enable-tftp<br>
tftp-root=/var/ftpd<br>
dhcp-option=vendor:PXEClient,6,2b # kill multicast<br>
pxe-prompt="What shall I do now?"<br>
pxe-service=X86PC, "Netboot PXELINUX", pxelinux<br>
pxe-service=X86PC, "Local boot", 0<br>
<br>
It's possible to add a timeout to the prompt:<br>
pxe-prompt="Press F8 for boot menu", 60<br>
<br>
and it should be possible to hand-off booting to other boot servers<br>
(I've not tested this, as I don't have access to any at the moment)<br>
pxe-service=x86PC, "Install windows from RIS server", 1<br>
<br>
For Alkis, to enable proxy-DHCP for a subnet:<br>
dhcp-range=192.168.0.0,proxy<br>
<br>
<br>
I tested on three different PXE ROMs, one really old (like AMD-K6 old)<br>
and two much newer. The really old one isn't reliable for proxy-DHCP,<br>
but they all work OK otherwise.<br>
<br>
Guilherme, it turns out that proxy-DHCP from a second server doesn't<br>
need port 4011 at all, just reply to DHCPDISCOVER with a DHCPOFFER<br>
containing option 60 "PXEClient" and the correct stuff in option 43 and<br>
nothing else, and it just works.<br>
<br>
<a href="http://www.thekelleys.org.uk/dnsmasq/test-releases/dnsmasq-2.48test8.tar.gz" target="_blank">http://www.thekelleys.org.uk/dnsmasq/test-releases/dnsmasq-2.48test8.tar.gz</a><br>
<br>
It would be great if anyone with an interest could test this. There's a<br>
lot of buggy PXE clients out there that might need working around.<br>
<br>
<br>
Cheers,<br>
<font color="#888888"><br>
Simon.<br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Dnsmasq-discuss mailing list<br>
<a href="mailto:Dnsmasq-discuss@lists.thekelleys.org.uk">Dnsmasq-discuss@lists.thekelleys.org.uk</a><br>
<a href="http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss" target="_blank">http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss</a><br>
</div></div></blockquote></div><br>