Cumulus 和 ESXi 的 DHCP 问题

Cumulus 和 ESXi 的 DHCP 问题

所以我的开关有积云Linux在其上运行,并且我的网络中运行着 ESXi。

因此,我的主要网络位于 172.22.0.0/24 上,上面有我的 esxi。我希望 esxi vms 在其上运行的网络是 172.22.20.0/24 172.22.10.0/24。因此,.20 可以很好地提供 dhcp,而且我没有遇到任何问题。问题出在 .10 上,我不确定它为什么会失败,因为我的 .20 的配置相同。

这是我在交换机上运行 syslog 并尝试将网络上的虚拟机连接到它时从 syslog 获得的信息。

Mar 11 08:14:08 cumulus dhcpd: DHCPDISCOVER from 00:50:56:80:4d:b8 
(gitlabs) via vlan10-InfaNet
Mar 11 08:14:08 cumulus dhcpd: DHCPOFFER on 172.22.10.100 to 00:50:56:80:4d:b8 (gitlabs) via vlan10-InfaNet
Mar 11 08:14:08 cumulus dhcpd: send_packet: No such device

当我运行 dhcpdump 时,我得到了这个

sudo dhcpdump -i vlan10-InfaNet
Ignored non IPv4 packet: 2048
Ignored non IPv4 packet: 2048

每次 DHCP 请求都会忽略非 ipv4 的东西,我不确定为什么。当我静态地将 ip 分配给虚拟机时,它工作正常,所以我不认为这是网络配置,但我可能是错的。

/etc/default/isc-dhcp 服务器

INTERFACES="br-main vlan20-VMNet vlan10-InfaNet"

/etc/dhcp/dhcpd.conf

# vlan 20 VMNet
subnet 172.22.20.0 netmask 255.255.255.0 {
  option routers 172.22.20.254;
  option broadcast-address 172.22.20.255;

  pool {
    range 172.22.20.100 172.22.20.200;
    allow unknown clients;
  }
}

# vlan 10 VMNet
subnet 172.22.10.0 netmask 255.255.255.0 {
  option routers 172.22.10.254;
  option broadcast-address 172.22.10.255;

  pool {
    range 172.22.10.100 172.22.10.200;
    allow unknown clients;
  }
}

你有任何线索吗?

答案1

每个 VLAN 都是一个单独的网络。为了同时为两个网络中的 DHCP 客户端提供服务,DHCP 服务器要么需要在每个网络中都有一个接口,要么需要在 DHCP 服务器没有接口的网络中使用 DHCP 中继代理,以便 DHCP 中继代理可以将 DHCP 广播转发到 DHCP 服务器。

答案2

好吧,我可能只是猜测,但我认为你配置 DHCP 服务器的方式存在一些问题。要实现这一点,你需要在两个 VLAN(VLAN 10 和 VLAN 20)上配置 2 个 DHCP 服务器,以便分别为 .10 和 .20 提供相同范围内的 IP。

手动配置时您不会注意到此问题。您必须在 VLAN 20 上运行另一个 DHCP 服务器,范围为 172.22.20.1/24 - 172.22.20.254/24

看看是否有帮助。

相关内容