我们有一个局域网,其中有 3 个 Cisco 交换机 (SLM2048)、一些 Windows 服务器和一些 WinXP/Win7PRO 工作站。所有设备都位于同一个局域网中,没有 VLAN,交换机上没有配置任何特殊配置(每个交换机连接 1LAG)。
我们最近购买了一些新的联想台式机,它们有千兆网卡,但在两个方面存在问题:
系统不会从 BOOTP 启动,它在启动期间永远不会从 DHCP 接收 IP 地址。
当 Windows 加载时,Windows 7(不是 XP)客户端会收到“当前没有可用的登录服务器来处理登录请求。”记录了 NETLOGON 事件 5719。如果用户登录速度非常快,他们可以在个人资料可用之前登录,并使用本地缓存的个人资料登录(这里不太好,需要多次跳台)。
我们发现,如果完成以下其中一项操作,我们可以让一切正常工作:
- 我们将台式机插入非 SLM2048 交换机(廉价的 Dlink Gb 交换机),然后将其插入其中一个 SLM2048 交换机。
- 我们强制端口以 100 Mbit 而不是 1Gb 运行
- 我们在交换机上禁用生成树(STP)...
我最近才发现第 3 点,并且已禁用交换机上的 STP 来暂时解决问题。
据我现在了解,STP 是问题所在,交换机在检查循环时阻止了 DHCP 请求,而 PC 在 Windows 启动时错过了其动态 IP。DHCP 客户端在 Windows 启动后连接,但这会错过初始组策略加载,并且可能错过用户配置文件加载,具体取决于用户手指的速度……
我可以对 STP/Windows 配置做哪些更改以允许 DHCP 请求通过(假设我的理解是正确的)?
提前致谢。
答案1
您不需要禁用整个交换机上的生成树协议 (STP)。配置 PC 连接到网络的端口‘生成树端口快速’选项,当 PC 启动时,它们的端口将立即转换为 FORWARDING 状态,这样您就会得到您想要的行为。
答案2
由于我尚无法发表评论,因此在此提供此链接...
http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800b1500.shtml
有一些关于使用 portfast 解决您的问题的信息