我正在尝试在 ESXi 网络和物理交换机网络上设置 VLAN,但无法让 ESXi 端口组上的虚拟机与物理网络通信。具体来说,我的虚拟机看不到来自物理网络的响应。
设置:
- ESXi 端口组上的 VLAN 112
- 连接到同一 VLAN 中的防火墙接口的交换机上的 VLAN 112
- 防火墙还可作为该 VLAN/子网的 DHCP 服务器
我无法通过 DHCP 在 VLAN112 中的 ESXi VM 上获取 IP 地址。
据我所见:
- 虚拟机重复发送 DHCP Discover 数据包
- 防火墙看到 DHCP 请求并以 DHCP Offer 进行响应(通过 PCAP 确认)
- ESXi vmnic1 上的数据包捕获确认这些请求已到达 ESXi 的物理网卡。事务 ID 匹配,因此我看到的流量正确。
我在这里遗漏了什么?
编辑:我可能忽略的是,ESXi 是装有 VMware Workstation 的 Windows 机器上的客户虚拟机(嵌套)。但接口是桥接的。
EDIT2:添加第二张图片以显示交换机配置。端口 5 - 连接到防火墙端口 12 - 在标记的 VLAN112 上测试树莓派 - 从防火墙接口端口 23 获取 dhcp 地址 - 带有 esxi 的主机
下面是 Ubiquiti 端口示意图,防火墙接口配置显示带有 VLAN 标签 112 的标记 eth3 接口(Check Point 防火墙)
答案1
连接到同一 VLAN 中的防火墙接口的交换机上的 VLAN 112
确保 VLAN 112 已标记至 ESXi 且在所有必需端口上允许。
如果有疑问,请检查交换机是否已将虚拟机的 MAC 地址与 ESXi 端口和所需的 VLAN 关联。
是否将 VLAN 112 标记为通向防火墙取决于防火墙的端口配置。再次检查交换机的 MAC 表以确保无误。
如果 DHCP 失败,请暂时尝试静态配置。如果可行,则您的 DHCP 服务已关闭或中间存在过滤器(DHCP 监听?)。
如果静态配置也不起作用,但 MAC/端口/VLAN 关联看起来正常,则 ping 防火墙并在 ARP 表中查找其 MAC。如果 ARP 有效,则中间有一个 IP 过滤器。
如果我将树莓派而不是 ESXi 主机插入交换机端口,它将获得 VLAN 112 子网内的 IP。
看起来您没有为主机标记 VLAN。如果您在 vSwitch 端口组上输入 VLAN ID,则表示已标记。
来自评论:
esxi 是具有桥接网络的 vmware 工作站(Windows PC)上的客户机。
呃——好吧...这改变了一切。
使用 VMware 工作站时,VLAN 标记可能不起作用根本- ESXi 对此一无所知。因此,传出的帧不会被标记,但传入的未标记帧永远不会转发到原始端口组。这很好地解释了您所看到的效果。也应该反映在交换机的 MAC 表上。
而且可能没有办法让它工作。对于 Windows,最好的办法是使用适用于您的 NIC 的供应商工具,创建虚拟 NIC 并将它们单独连接到 ESXi - 然后不要在 ESXi 上使用 VLAN ID/标记。Windows 不进行标记,您无法通过运行虚拟 ESXi 来强制执行它。