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">&lt;<a href="mailto:simon@thekelleys.org.uk">simon@thekelleys.org.uk</a>&gt;</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>
&gt; Στις 26-03-2009, ημέρα Πεμ, και ώρα 16:48 +0000, ο/η Simon Kelley<br>
&gt; έγραψε:<br>
&gt;&gt; Alkis,<br>
&gt;&gt;<br>
&gt;&gt; Why is pxe &lt;<a href="http://www.kano.org.uk/projects/pxe/" target="_blank">http://www.kano.org.uk/projects/pxe/</a>&gt; not suitable to do this?<br>
&gt;<br>
&gt; This project is only suitable for the first scenario that Guilherme<br>
&gt; described - meaning that the server it provides only listens on port<br>
&gt; 4011.<br>
&gt; So the existing DHCP server must be modified to send the string<br>
&gt; &quot;PXEClient&quot;.<br>
&gt;<br>
&gt; This cannot be done if we don&#39;t have control over the DHCP server (and<br>
&gt; we wouldn&#39;t really need a proxydhcp if we did), or if the DHCP server<br>
&gt; doesn&#39;t support sending custom strings (e.g. a cheap<br>
&gt; modem/router/dhcp-server that cannot be substituted by a proper PC-based<br>
&gt; dhcp server for policy reasons).<br>
&gt;<br>
&gt; So someone would have to modify this project to be suitable for the<br>
&gt; second scenario (=actually the only needed one): to listen for<br>
&gt; broadcasted DHCPDISCOVERs on port 67 and answer with an empty DHCPOFFER<br>
&gt; with PXEclient as the vendor identifier. And of course he would have to<br>
&gt; maintain the project (last version = 2004).<br>
&gt;<br>
&gt; And then we would have to install dnsmasq as well for the tftp and maybe<br>
&gt; the dns server.<br>
&gt;<br>
&gt;<br>
&gt; So if you could make dnsmasq (also) act as a proxydhcp, you&#39;d be<br>
&gt; providing us with a clean solution (actually AFAIK the only open source<br>
&gt; working solution), and doing us a great favor... :-)<br>
&gt;<br>
&gt;<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&#39;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&#39;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=&quot;What shall I do now?&quot;<br>
pxe-service=X86PC, &quot;Netboot PXELINUX&quot;, pxelinux<br>
pxe-service=X86PC, &quot;Local boot&quot;, 0<br>
<br>
It&#39;s possible to add a timeout to the prompt:<br>
pxe-prompt=&quot;Press F8 for boot menu&quot;, 60<br>
<br>
and it should be possible to hand-off booting to other boot servers<br>
(I&#39;ve not tested this, as I don&#39;t have access to any at the moment)<br>
pxe-service=x86PC, &quot;Install windows from RIS server&quot;, 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&#39;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&#39;t<br>
need port 4011 at all, just reply to DHCPDISCOVER with a DHCPOFFER<br>
containing option 60 &quot;PXEClient&quot; 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&#39;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>