Spanning Tree blocking DHCP requests in Windows/BOOTP
We have a LAN with 3 Cisco switches (SLM2048), a handful of Windows Servers and some WinXP/Win7PRO workstations. All devices are on the same LAN, no VLANs, nothing special configured on the switch (1LAG linking each switch).
We recently purchased some new Lenovo desktops, which have Gigabit NICs and are having a problem in 2 areas:
The system will not boot from BOOTP, it never receives an IP address from DHCP during startup.
When Windows loads, Windows 7 (not XP) clients get a "There are currently no logon servers available to service the logon request. " NETLOGON event 5719 logged. If the users log in really quickly, they can login before their profile is available and get logged in with a local cached profile (not good here, lots of desk hopping).
We found that we can get everything to work correctly if one of the following is done:
- We plug the desktops into a non-SLM2048 switch (cheap Dlink Gb switch) plugged into one of the SLM2048 switches.
- We force the port to run at 100 Mbit rather than 1Gb
- We disable Spanning Tree (STP) on the switch...
I only discovered point 3 recently, and have disabled STP on the switches to correct the issue for now.
From what I now understand STP is the problem, the switch is blocking the DHCP request while it checks for a loop and the PC misses its dynamic IP while Windows boots. The DHCP client connects after Windows boots, but this misses the initial Group Policy load and possible the user profile load depending on how quick the user's fingers are...
What changes could I make to the STP/Windows config to allow the DHCP requests to get through (assuming my understanding is correct)?
Thanks in advance.
Solution 1:
You don't need to disable the spanning tree protocol (STP) on the entire switch. Configure the ports where the PCs are connected with the 'spanning-tree portfast' option and they ports will immediately transition to the FORWARDING state when the PCs come up and you'll have the behavior you're looking for.