在我们的实验室里,我们有静态IP分配给所有的东西。 我们有less于20个设备,一些物理和虚拟的ESXi,从服务器到Android平板电脑。 一切都是有线以太网。 交换机上有3个VLAN。 我们的虚拟linux机器工作正常,因为vSwitch似乎应用了标签,但是我们的物理Linux机器需要将它们的ifcfg-eth0接口改为ifcfg-eth0.20以便与networking一起参与。 我们的带有以太网适配器的Android平板电脑不能创build这个新的以太网configurationvlan标签的方式linux,因为它没有根源,没有有线vlan设置的工具,据我所知。 (这是Android 4.0。)
交换机是否应该负责根据机器的子网及其插入的端口来标记networkingstream量? 为什么物理窗口的机器似乎无需额外的设置就可以处理VLAN,但是Linux物理机器需要一个新的接口configuration来查看stream量? 难道物理交换机不能像vSwitch为我们的虚拟机那样做吗?
我只想让Android设备使用虚拟机和Windows机器的服务,但我甚至无法ping通它们或网关,因为无法在设备上手动设置VLAN。
交换机是否应该负责根据机器的子网及其插入的端口来标记networkingstream量?
VLAN是一个二层结构,IP地址是一个三层结构。 VLAN和IP地址之间没有直接的关系。
这听起来像你有你的交换机端口configuration为VLAN的标记端口,你可能不应该有这样的configuration。 当交换机端口被标记时,交换机将在该帧中插入一个VLAN标记,并且连接到该交换机端口的端点负责处理该VLAN标记。 通常,除了交换机上的中继端口外,您不需要或不需要VLAN标记。 大多数VLANstream量都是不带标签的交换机。 交换机知道stream量属于哪个VLAN,并根据VLAN在交换机端口之间进行适当的移动。 中继端口通常在交换机之间传输多个VLAN的stream量,因此需要对这些帧进行标记,以便接收交换机知道stream量属于哪个VLAN。
这听起来像是在您的ESXi vSwitch上使用VST(虚拟交换机标记),这将解释您的虚拟机工作的原因。 vSwitch正在处理VLAN标记。
我怀疑Windows计算机连接到本地/默认VLAN,这是未标记,这解释了为什么他们正在工作。
所以总结一下我的假设:
您的物理Windows计算机正在工作,因为它们连接到本地/默认VLAN(不带标记)的交换机端口,并且在其NICconfiguration中不需要VLAN标记。
您的虚拟机可以工作,因为ESXi vSwitch正在pipe理VLAN标记。
您的其他设备不工作,因为它们不在本地/默认VLAN中,并且您的VLAN端口configuration为已标记,并且这些计算机的NICconfiguration没有configuration适当的VLAN ID,因此无法处理VLAN标记的stream量。
你真的不应该在实际的客户端设备上设置VLAN标记。 有太多的pipe理开销,它根本不可扩展。
相反,您应该将设备的相关交换机端口设置为未标记(或本机)的所需VLAN。
VMware是一个例外,但是并行将理解为什么标签没有在客户操作系统vs vswitch中设置。