首先,我想指出,我已阅读此处提出的所有相关问题。
因此,在我的台式计算机(运行 Ubuntu)上,我有三个 NIC - eth0、eth2、eth3。我有将这些端口连接到交换机(我所属公司的专有)的链接。 eth0 配置为 DHCP 服务器 (isc-dhcp)。在交换机中,eth2 是 VLAN20 (10.0.20.1/24) 的一部分,eth3 是 VLAN10(10.0.10.1/24) 的一部分。 eth0(dhcp 服务器)是 VLAN30(10.0.30.1/24) 的一部分。服务器IP地址为10.0.30.2。目前,dhcp 服务器成功分配 10.0.30 子网中的 IP 地址(我相信这是因为服务器所属的子网)。因此,eth2 是 10.0.30.10,eth3 是 10.0.30.11(池是 10.0.30.10 - 10.0.30.100)。
但是,我希望能够分配与接口子网相对应的 IP 地址。例如,eth3 是 VLAN10(10.0.10.1/24) 的一部分,因此它应该获得 10.0.10.x 地址,eth2 应该获得 10.0.20.x 地址。我希望 DHCP 服务器根据客户端所在的子网分配 IP 地址。
我读了一些资料,发现需要 DHCP 中继。我在交换机上为 VLAN 10 和 VLAN 20 配置了此选项。此外,我还为 DHCP 启用了 option-82。我还安装了 isc-dhcp-relay ,并在 dhcp-relay.conf 文件中添加了服务器的 IP 地址(10.0.30.2)和服务器的接口(eth0)。我使用 Wireshark 跟踪了一些数据包,并注意到客户端(eth2 和 eth3)正在与中继代理成功通信。
我缺少什么以及我应该配置更多什么才能使 DHCP 服务器为不同的子网/VLAN 分配不同的 IP 地址?