![使用 dhcpd 进行负载平衡](https://linux22.com/image/550016/%E4%BD%BF%E7%94%A8%20dhcpd%20%E8%BF%9B%E8%A1%8C%E8%B4%9F%E8%BD%BD%E5%B9%B3%E8%A1%A1.png)
我只是想知道这是否可行。我不想听到其他解决方案,因为我知道它们。我只想知道 ISC dhcpd(或任何其他开源 dhcp 服务器)是否实现了它。
假设我在 dhcpd 中配置了一个子网,并且作为该子网的一部分,我有两个具有相同分配策略的 IP 范围/池(A 和 B)。在这种情况下,dhcpd 是否会对地址分配进行循环?
另一个问题是:是否可以为一个 IP 池分配两个具有不同指标的路由器?
我的想法是:在同一个子网中设立两个 IP 池,从这些池中以循环方式分配 IP,并使用两个使用不同指标的网关。
因此对于子网 192.168.100.0/24:
我将有两个池。池 A (192.168.100.10-119) 和池 B (192.168.100.120-254)。对于池 A,我想给路由器 192.168.100.1 度量 10,给 192.168.100.2 度量 20;对于池 B 中的 IP,我想给路由器 192.168.100.2 度量 10,给 192.168.100.1 度量 20。
那可能吗?
答案1
据我所知,每个子网肯定可以有多个池,每个池有不同的选项。但是,ISC dhcp 服务器将按照声明的顺序使用这些池,并且可能会先用尽第一个池,然后再使用下一个池,除非附加了其他条件(例如匹配某种供应商标识符或 MAC 地址或类似条件),这将允许服务器确定使用哪个池。换句话说,没有循环。
答案2
我记得 isc hdcpd 中有一个执行评估命令,可用于决定使用哪个类来分配地址池。因此,您可以编写一个简单的 bash 脚本,然后将这些客户端分配给随机类。