我真的很想了解大家对最近遇到的这个奇怪问题的想法和意见。
问题客户的一致行为:
- 早上某个时间之前,用户 PC 请求使用 169.254.x APIPA 地址
- 在此时间范围内不接受 DHCP 服务器提供的合法地址
- 在第二次 DHCPDISCOVER 之后的时间段内,客户端将接受 DHCP 提供的 IP 地址
概括
- 周末过后影响了单个建筑的网络
- 周末让机器一直开着的用户没有问题 - DHCP 更新等运行正常
- 那些已经关闭电脑的用户在开机后仍然遇到 DHCP 问题
- 这对建筑物造成了两个小时的影响,没有发现任何故障并自行解决。
- 网络受到监控,并已完成广泛调查 - 在规定时间内未出现网络问题
- DHCP 服务器在整个站点发放地址,这仅局限于一栋建筑
- 客户端机器主要是 Windows 7,各种硬件和 NIC 供应商受到影响 - 未发现模式。
- 静态台式机和笔记本电脑的混合
- 有线连接
- 尽管并非 Vlan 内的所有客户端都受到影响,但还是影响了一个 Vlan。
DHCP 服务器日志中捕获的事件序列
- DHCPDISCOVER - 客户端 PC - 客户端首次执行发现操作
- DHCPOFFER DHCP 服务器 - DHCP 服务器提供的合法 IP 地址
- DHCPREQUEST - 客户端 PC - 客户端请求 169.254x:“错误网络”消息
- DHCPNAK - DHCP 服务器 - 服务器通过 NAK 否定确认。客户端必须重新启动进程
- DHCPDISCOVER -客户端 PC - 客户端的第二次发现操作
- DHCPOFFER - DHCP 服务器 - 提供合法 IP 地址
- DHCPREQUEST - 客户端 PC - 客户端请求使用合法 IP 地址
- DHCPACK - DHCP 服务器 - 服务器积极确认
RFC3927 要点的伪总结:
“简要”阅读 RFC 3927 IPv4 链路本地地址的动态配置 - 提供的问题比答案还多!
当使用链路本地 169.254.x 地址时
- 169.254. /16 当地址或地址配置不可用时使用链路本地寻址
- 通常在启动时运行
如果主机使用 169.254.x 地址和可路由地址,则主机必须
- 使用可路由地址
- 停止广告 169.254.x
可路由地址方法可能不再可用
- DHCP 租约到期
- 通过手动配置删除地址
- 主机漫游到地址不再可用的新网络
169.254.x 地址选择
- Windows 和 MAC 主机实现链路本地自动配置
- Windows 注意事项:
- 一旦检测到网络连接,就会在接口上发送 DHCPREQUEST 或 DHCPDISCOVER
- 一旦连接可用,系统就会立即转换自动配置
- 根据主机(即 MAC 地址)生成伪随机数
- 启动时发生
声明 169.254.x 地址
- 主机必须测试 169.254.x 链接本地地址是否在网络上未被使用
- 通过广播 ARP 请求完成(包括目标 IP 地址 - 待探测)
宣布 169.254.x 地址
- 第二次 ARP 广播,但这次包括发送方和目标 IP 地址现在是选定的 169.254.x IP
最终总结
- 客户端 DHCPDISCOVER,DHCP 服务器以 DHCPOFFER 进行响应
- 客户端应接受此可路由地址提议并停止使用本地链路 169.254.x。由于某种原因,它并没有这样做。
- 客户端随后发出的 DHCPREQUEST 看起来是 ARP 探测或 ARP 公告广播?客户端使用的是 169.254.xx,可能与 DHCP 服务器响应无关?
- 第二个 DHCPDISCOVER - 由于 PC 最初是打开的,因此不清楚是什么促使了这一点。
如果您已经读到这里,感谢您的耐心!
非常感谢能得到一些帮助来理解这一点。
谢谢,
答案1
租赁池中的地址是否用完了?也许这就是它无法再发放额外 IP 地址的原因。
进入 Windows 后,您能从受影响的机器 ping DHCP 服务器吗?您能将 NIC 硬编码为 DHCP 范围内未使用的 IP 吗?这样能让您进入网络进行测试吗?如果需要,请在与不工作的机器相同的网络端口上测试其中一台正常工作的 PC。