当网络上有 2 个 DHCP 服务器时,如何强制 Linux 连接到特定的 DHCP 服务器?

当网络上有 2 个 DHCP 服务器时,如何强制 Linux 连接到特定的 DHCP 服务器?

我的网络上有 2 个可用的 DHCP 服务器,其中一个是活动的 VPN 网关,我正尝试将其连接到我的 Linux 客户端。默认情况下,客户端会从非 VPN 服务器接收 IP 地址。如何配置客户端以使用特定的 DHCP 服务器?

答案1

在错误的 DHCP 服务器上创建一条规则,阻止您不想分配 IP 的设备的 MAC 地址的端口 67 和 68。

或者

在您的 PC 上,阻止 67 和 68 上往返于错误 DHCP 服务器的 MAC 地址的出站和入站数据包。

答案2

DHCP 协议允许在同一网络上使用多个 DHCP 服务器,因此客户端的 DHCP Discover 数据包可能会收到多个 DHCP Offer 数据包作为响应(每个服务器一个),并且客户端必须选择一个数据包来用其 DHCP Request 数据包进行响应。但是,标准并未指定客户端应如何选择。它留作实现细节,并且每个 DHCP 客户端实现可能都不同。因此,您必须检查所用 DHCP 客户端的文档或源代码,以查看您的特定 DHCP 客户端软件是否允许您选择以及如何选择。

我知道不止一种 DHCP 客户端实现总是选择具有较长 DHCP 选项列表的 Offer(即试图远程配置客户端上更多设置的 Offer),因为他们认为该 Offer 来自更复杂的企业 DHCP 服务器,并且更有可能是“正确的”。他们的想法是,在大多数情况下,多个 Offer 不是故意的,这意味着有人意外地在企业 LAN 上的 Windows PC 或 Mac 上启动了 Internet 共享,或者将自己的未经授权的无线路由器插入了公司 LAN。这些“意外”的 DHCP 服务器不太可能想要通过 DHCP 设置一堆客户端设置,因此与具有大量选项的 Offer 相比,它们的 Offer 不太可能是您想要接受的 Offer。因此,您可以通过配置 VPN 服务器的 DHCP 服务器来设置大量 DHCP 选项(例如告诉您要使用哪些 WINS、LDAP 和 NTP 服务器)来从服务器端解决此问题。

相关内容