PDA

View Full Version : PXE Network Booting question



trellis
11-29-2004, 08:53 PM
Just something I don't understand about network booting - can anyone clarify for me?

What I did was go through the script to enable the Terminal Server in Knoppix, and it went through happily.

Now, this script includes starting a DHCP service, but I already have a DHCP server on my network, and two DHCP servers is generally bad news, so I unplugged the other DHCP server from the network. This was also the Default Gateway for the LAN, but I was only testing PXE booting and wasn't going to need access to the outside world, so that's fine - or so I thought!

The client machine booted and got assigned an IP address, default gaeway etc. and that all went well. Then it got to the TFTP stage... and timed out. Tried several times, and every time the TFTP just timed out, and the machine carried on booting from its local HDD.

In desperation, I plugged the other DHCP server back into the network and tried again - bear in mind I now have TWO active DHCP servers on the LAN!

Hey presto, it booted and TFTP'd perfectly!!!

Repeated the exercise several times - with both servers on the LAN, it boots, with only the Knoppix server, the TFTP times out.

My question is this - the PXE booting procedure should be direct between the client machine and the Knoppix server machine - why doesn't it work when only these two machines are connected? Why does it seemingly need access to the outside world via the default gateway in order to boot over the local LAN? It shouldn't be going anywhere off the local LAN.

Just can't get my brain round this one!

Many thanks in advance!

Harry Kuhman
11-29-2004, 09:04 PM
I've never used the terminal server so take this for what it's worth....

Most routers have an option that will disable DHCP. The router still works, but you have to assign the IP addresses some other way (uaually static IP addresses). You might try making sure your terminal server has a good IP address for your network and turning off DHCP in the router.

trellis
11-30-2004, 09:46 PM
Thanks for that, Harry.

Yeah, I can quite easily stop dhcpd on the gateway machine , but I was just wondering why it seems to be impossible to boot over the local LAN without the default gateway being present - surely nothing should need to reach the outside world - it should all just go direct between the client and server???

I'll have to get Ethereal going and see what's occurring!


- but, since the LAN switch is six inches from my right hand, it seemed easier to just unplug it from the network ;-)

trellis
11-30-2004, 10:13 PM
Bad form to follow-up my own post I know, but I've got to the bottom of the problem!

It seems that the TFTP server attempts to do a reverse DNS lookup for the IP address of the connecting client. Until this DNS lookup completes, it doesn't allow the transfer to start. Since the DNS server isn't available (because the gateway is unreachable) no response is ever received for the DNS request, hence the TFTP transfer never starts and times out.

I saved the Ethereal capture here:
http://www.crumblenet.co.uk/~tim/PXEboot
if anyone's interested. (this is captured with the gateway connected, so shows a good PXE boot sequence, including the useless DNS lookup.)

Harry Kuhman
11-30-2004, 10:16 PM
So with the gateway router running but not doing DHCP it works?

trellis
12-01-2004, 11:39 PM
yep :-)

Well, curiously, it actually works even with both boxes doing dhcp. Get some rather confused logs in the dhcpd log file, but it works ok. I think both boxes are offering a lease, but I guess the PXE client ignores the one that doesn't offer it a boot filename. So both servers think they've done a really good job and feel good about themselves, but one has actually been totally ignored.