主机之间的 DHCP 数据包丢失。
- 服务器向客户端发送 DHCPOFFER。
- 客户端从服务器获取 DHCPOFFER。
- 客户端发回 DHCPREQUEST。
- 服务器才不是接收 DHCPREQUEST 数据包。
有人能指出这是什么原因吗?
答案1
如果您根据 tcpdump 或 wireshark 判断服务器未收到 DHCPREQUEST 数据包(没有数据包被丢弃),则这是网络问题。检查客户端上的 ARP 条目以获取服务器 IP 地址。
如果您使用其他机制告知服务器未收到数据包,则请检查服务器是否可以接收源端口为 68 的 UDP 数据包(基本上检查防火墙是否阻止 UDP 数据包)。如果安全性不是大问题,我建议使用随意规则,例如允许所有 UDP 进行短时间的测试。
答案2
我知道这听起来不太可能,但也许这条路线从客户端到服务器可能不支持分段,而客户端发送的数据包太大。假设
- 你正在嗅探服务器
- 中间没有防火墙或其他东西
- 客户端可以向较小尺寸的服务器发送数据包
...并且您已验证以上所有内容。
是的,这是我曾经被问到的一个面试问题 :)