![DHCP:双服务器情况下的服务器行为](https://linux22.com/image/1329428/DHCP%EF%BC%9A%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%83%85%E5%86%B5%E4%B8%8B%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%A1%8C%E4%B8%BA.png)
这是关于 DHCP 标准中的服务器行为的问题。我读过 RFC,但仍然不太清楚。
情况是这样的:
网络上有两个 DHCP 服务器。我的客户端最初从服务器 A 获取 IP 地址。在某个阶段,服务器 A 出现故障。我可怜的客户端在 RENEW 和 REBIND 状态下发送 REQUEST,但没有任何响应。
我的问题是:在这种情况下,服务器 B 是否应该以 REBIND 状态响应 REQUEST,例如 DHCPNAK,以便客户端有机会重新启动该过程?
语言2
答案1
我的理解是可以但没必要。
在 RENEWING 状态下,您的客户端应该发送指向服务器 A 的 DHCPREQUEST。稍后,在 REBINDING 状态下,您的客户端应该将 DHCPREQUEST 发送到广播地址,以便服务器 B 可以接受它并进行回复。
但是,RFC 2131 第 4.3.2 节的最后一段表明服务器不必延长最初未发送的租约。
答案2
这取决于网络拓扑和每个 DHCP 服务器的实际配置。通常(路由器上没有 DHCP 助手)DHCP 仅在以太网段内工作。如果服务器 B 位于不同的段上,它将永远不会看到来自客户端的请求,客户端也不会看到来自服务器 B 的响应。此外,当服务器仅配置了保留地址(没有动态地址范围)或动态地址范围已用尽时,服务器将不会响应来自客户端的请求(因为它没有任何东西可以提供)。
为了获得更详细的答案,您需要提供有关网络拓扑和两台服务器配置的更多信息。