0

I'm trying to PXE-boot desktop-machines to install a new OS over the network, but it isn't picking up an IP address via DHCP during boot. When an OS is already booted on the machine, it is working fine. In the past i had some issues with this, because of misconfigured RSTP. But with spanning-tree [PORT] admin-edge-port on HP-Switches (equivalent to ciscos portfast i guess) i thought i solved this. Now it is back, with exactly the same symptoms... PXE-Boot:

Client -> Server: DHCP-Discover
Server -> Client: DHCP-Offer
Client -> Server: DHCP-Discover
Server -> Client: DHCP-Offer
.... looping...

I tried several things:

  • extending the boot time (memory check on the client)
  • disabling RSTP
  • disable auto-negotiate between Switch and Client

I am at my wit's end. Someone has an idea?

derhelge
  • 23
  • 2
  • 7
  • What kind of PXE server are you using? The `DHCP-Offer` probably means it *is* getting an IP, but it's not going to boot if it doesn't also receive a boot filename. Have you tried capturing packets at the DHCP server and/or PXE server? – 1.618 Oct 11 '13 at 17:13
  • DHCP and PXE are on the same machine. I captured the traffic by mirroring the client port and dumping the packets with wireshark. I have only seen the discover and the offer... But yes.. Maybe there is something wrong with the PXE-Server (wrong boot-filename etc.). I will discover it on monday. Thanks so far! – derhelge Oct 11 '13 at 17:20

3 Answers3

2

Many of the responses to this problem wind up being STP and the need to use PortFast. It is the case so often that there is little information to help with what to do once you rule out STP.

I ran into this problem and would never have resolved it without using tcpdump with the "-vv" option from any old machine on the same network segment as the client with the problem. Promiscuous mode is not needed.

When a standard PXE client boots it will ask the DHCP server for the usual items: IP; subnet; gateway; etc. However, it also asks for the tftp server name and the boofile name. This is all part of ONE request. I had always been mistaken in thinking that the ask for PXE server vitals was a second request once the machine had its IP info and could talk on the network. If these PXE items are missing, as they were in my case due to a config file error, the client appears that it cannot acquire an IP address, which shows up as repeated DHCP-Discover and DHCP-Offer, with no DHCP-Request. In my case the client did get the response with IP info, only the response was incomplete, based on what was asked... so the client asked again, and again, until it timed out. I wasted a lot of time thinking the client wasn't receiving the "offer" when it was. The client just wasn't happy with the offer. I was tweaking vlan's and ip-helpers, and stp config's. I was looking in the wrong place.

The difference between good and bad response was the malformed "offer" had no bootfile name, so the client kept asking. Once the config file was fixed the "offer" did contain the tftp server name and bootfile name. The client was satisfied with the content if the "offer" so it then issued a Request, then used the PXE info to contact the TFTP server.

1

If DHCP is working through the operating system, but not through PXE, something is likely amiss with the firmware / configuration of the NIC itself.

Get in to the firmware of the NIC during boot-up (usually there is either a Cntl-Key sequence, or you access the BIOS if it's onboard) and see what sort of options are available for adjusting.

Make sure the interface the OS is DHCP'ing off of is really the same interface that is failing to PXE. With a desktop you might only have a single interface, but if there is more than one there are regular problems where OS device enumeration isn't what you anticipate.

You may also try other desktops (with other NICs) to see if the problem is just a specific firmware version / manufacturer, or perhaps the problem is larger.

Joshua Miller
  • 1,378
  • 2
  • 11
  • 14
  • Thanks. It wasn't a deep network problem... Just a combination of a bad firmware and a wrong info from our user-helpdesk. – derhelge Oct 14 '13 at 13:29
1

We had a similar issue with our HP servers connected to C4948's. PXE boot process stops after dhcp offer. HP server will not respond back with the DHCP request packet.

Resolution# we stopped all UDP broadcast packets on the VLAN by configuring an ACL on the access port and it started working like a charm. Hope it helps.

KKS
  • 11
  • 1