具有多个作用域的 DHCP 服务器。它使用哪一个来分配 IP?

具有多个作用域的 DHCP 服务器。它使用哪一个来分配 IP?

我有 4 个 DHCP 作用域。

10.200.0.0 <--------DHCP 服务器位于此处

10.54.0.0

10.16.0.0

10.32.0.0

DHCP 广播请求已发送到我的 DHCP 服务器。它如何决定从哪个范围获取地址?

我的问题是,应该获取 10.200.0.0 地址的客户端实际上获取了 10.16.0.0 范围的 IP 地址,但我不知道为什么。

答案1

这不是预期的行为,所以这让我认为发生了一些比 DHCP 服务器接收到的简单广播更复杂的事情。

当 DHCP 服务器收到第 2 层广播 DHCPREQUEST 时,它将在与接收 DHCPREQUEST 的接口的子网对应的范围内满足该请求,就像您期望的那样。当它从 DHCP 中继代理(设置了 GIADDR 地址)以第 3 层单播形式收到请求时,它将在包含 GIADDR 地址的子网的范围内满足该请求。

我会嗅探进入 DHCP 服务器的流量(使用微软 NetMon或者Wireshark)以确保请求确实以第 2 层广播的形式到达。

答案2

除了 Evan 在他的回答中提到的内容之外,您是否确实拥有由一个或多个路由器分隔的 10.54.xx、10.16.xx 和 10.32.xx 网络?听起来您可能只是为位于同一网络上的客户端设置了多个范围。是这样吗?

此外,(正如 Evan 所述)来自与 DHCP 服务器不同网络上的客户端的 DHCP 广播消息需要通过 DHCP 中继代理(通常在路由器本身上配置)“中继”到服务器。DHCP 中继代理将广播消息转换为单播消息,因此您不应该看到任何从 DHCP 服务器网络本身以外的网络到达服务器的广播消息。您应该看到来自不同网络上的客户端的 DHCP 中继代理的单播消息。这就是您看到的吗?

相关内容