![在 Linux ISC-DHCP 服务器上为同一个 MAC 地址分配多个 IP 地址](https://linux22.com/image/676232/%E5%9C%A8%20Linux%20ISC-DHCP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E4%B8%BA%E5%90%8C%E4%B8%80%E4%B8%AA%20MAC%20%E5%9C%B0%E5%9D%80%E5%88%86%E9%85%8D%E5%A4%9A%E4%B8%AA%20IP%20%E5%9C%B0%E5%9D%80.png)
我有以下问题:一个处于池模式的 Linux DHCP 服务器,由于制造步骤,所有产品都具有相同的 MAC 地址,该地址在生产线末端会更改,电路板使用以太网来记录文件系统,并且为了批量生产,我们需要在每台计算机上同时记录六个或更多电路板(我们在生产线上使用交换机)。监控电路板时,它们通常会获得另一个电路板的相同 IP。服务器上是否存在允许将多个 IP 分配给同一 MAC 地址的配置?
答案1
我认为,如果不将所有板子分开,使它们无法互相看到,您将无法做到这一点。幸运的是,您不需要物理地将它们分开,有一种解决方案可以让您从逻辑上实现这一点。
让您了解需要什么:
- 您需要一个管理型交换机,在每个要连接某个设备的端口上配置一个不同的 VLAN(即“访问”或“未标记”端口)。
- 您将服务器连接到“中继”或“标记”端口。
- 对于每个 VLAN,您需要在服务器上设置一个逻辑网络接口 (
eth0.VLAN_ID
)、一个网络命名空间(请参阅man ip-netns(8)
)以及在该特定实例中运行的 DHCP 服务器实例。如果您需要其他服务,最好也在每个命名空间中创建该服务的单独实例。
通过此设置,您的客户端将不再互相看到。您将不再有任何冲突。设置它可能并不容易,但您应该能够很好地编写脚本。
不久前,我回答过一个涉及网络命名空间的类似问题。它可能会给你一些想法: