![如果客户端同时收到 2 个 DHCP 服务器的 Offer,它会选择哪个服务器?](https://linux22.com/image/1388230/%E5%A6%82%E6%9E%9C%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%90%8C%E6%97%B6%E6%94%B6%E5%88%B0%202%20%E4%B8%AA%20DHCP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%20Offer%EF%BC%8C%E5%AE%83%E4%BC%9A%E9%80%89%E6%8B%A9%E5%93%AA%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
如果客户端一次从 2 个 DHCP 服务器(位于不同的子网上)收到 Offer,则会选择哪个服务器的 IP 地址?
我Google了一下,得到的答案是:哪个Offer先到,由客户来选择。
但我的疑问是:如果两个 DHCP 服务器的 Offer 同时到达怎么办?
答案1
如果您的电脑有两张网卡,那么两张网卡都会有不同的网络设置,并从不同的 DHCP 服务器获取不同的 IP。
每张网卡上的所有数据包都将按顺序到达。操作系统不会同时看到两个数据包,数据包将按顺序排列。
所以你所描述的问题就不会出现。
正如您在评论中所写,客户端不需要接受第一个 DHCP 答案,客户端可以自由等待多个答案并选择一个配置(RFC 2131,第 3.1.3 节)。选择一种配置的标准是什么?第 4.4.1 节给出了两个:“例如,第一个 DHCPOFFER 消息或来自先前使用的服务器的 DHCPOFFER 消息”。其他标准可能基于 DHCP 选项(RFC 1533)。与不带这些选项的答案相比,客户端可能更喜欢带有路由器选项、时间服务器选项、名称服务器选项、域名服务器选项或 LPR 服务器选项的答案。它还可能更喜欢带有特殊域名或取决于所提供的 IP 地址/网络的报价。
尽管出于冗余考虑,我不知道在网络中使用多个 DHCP 服务器有什么好的理由。为此,两个 DHCP 服务器应配置相同,只是它们提供的 IP 范围不同(在同一子网中)。
答案2
DHCP 客户端可以配置为从 DHCP 服务器请求并要求某些参数 (dhcp-options)。请参阅关联.这些参数在 dhcpclient.conf 中指定