一个极其简单的 DHCP 服务器可以可靠地与 Windows 10 PC 和 Android 设备配合使用。它从客户端接收 DHCP Discover,以 DHCP Offer 回复,然后从客户端接收 DHCP 请求。
但是,它不适用于使用 DHCP4 的设备。它从它接收 DHCP Discover,并以 DHCP Offer 进行回复,但从不接收来自客户端的 DHCP 请求。Wireshark 分析证实了这一点。看起来 DHCP4 客户端要么没有收到 DHCP 提供,要么完全忽略它。
DHCP客户端与不同路由器的DHCP服务器一起工作没有任何问题,所以我责怪DHCP服务器。
这个 DHCP 服务器与典型的 DHCP 服务器有一点不同:它不使用特权端口 67 作为源端口来发送消息。我认为 DHCP 客户端不会关心对其 DHCP Discover 的回复的源端口。该协议似乎不要求来自服务器的消息从端口 67 发送。它要求将它们发送到端口 68。
有没有专家能提供一些关于这个问题的线索?我拥有 DHCP 服务器的完全控制权,我很乐意尝试任何建议。
编辑:
请注意,这个问题不是为了让任何运行 DHCP4 的特定设备与 DHCP 服务器一起工作。这个问题是关于如何修改 DHCP 服务器以使其适用于所有 DHCP4 客户端。