DHCP 服务器是否会知道为其权限范围内的任何设备静态分配的 IP 地址?

网络工程 路由器 dhcp IP地址
2022-02-05 02:48:42

为简单起见,假设 DHCP 服务器在 192.168.1.1/24 的默​​认网关/路由器中运行

让我们说,我已经将 10 台主机连接到路由器。

并且在 10 台主机中,有 2 台主机被静态分配了 IP 地址。并且两个静态分配的 IP 分别是 192.168.1.2/24 和 192.168.1.3/24

并且 DHCP 服务器配置为从 192.168.1.2/24 开始 DHCP 池地址。

现在其余 8 台主机配置为使用 DHCP 自动获取 IP 地址。

当这 8 台主机联系 DHCP 服务器获取 IP 地址时,DHCP 服务器会提供 IP 地址为 192.168.1.2/24 吗?

如果不是,并且它提供的 IP 地址为 192.168.1.4,那么 DHCP 服务器如何知道静态分配的 IP 地址?

2个回答

任何用作静态(本地)配置地址的 IP 地址都不应包含在 DHCP 池中。一个好的做法是为静态主机设置预留。

DHCP 服务器不知道静态地址。可能 应该在发送 DHCP 提议之前检查地址,但它可能无法(当位于另一个子网时)。在这种情况下,客户会检查地址并拒绝不太好的报价。

当这 8 台主机联系 DHCP 服务器获取 IP 地址时,DHCP 服务器会提供 IP 地址为 192.168.1.2/24 吗?

“可能”——这取决于 DHCP 服务器实现如何从其池中分发地址。这可能是最高->最低、最低->最高、随机等等。

如果不是,并且它提供的 IP 地址为 192.168.1.4,那么 DHCP 服务器如何知道静态分配的 IP 地址?

它没有!为此,您通常可以从 DHCP 池中排除单个地址或地址范围。此外,您可以通过让服务器在看到特定 MAC 地址时从池中分发特定地址来进行“静态 DHCP”租用。

话虽如此,DHCP 服务器可以足够聪明地在发出租约之前检查地址是否已在使用中。例如,它可能只是简单地 ping 地址。我不会假设这种行为但是没有验证它。