Xen*_*hod 6 networking linux android vlan vmware-esxi
在我们的实验室中,我们为所有内容分配了静态 IP。我们有不到 20 台设备,有些是物理的,有些是在 ESXi 上虚拟的,从服务器到安卓平板电脑。一切都是有线以太网。交换机上有 3 个 VLAN。我们的虚拟 linux 机器工作正常,因为 vSwitch 似乎应用了标签,但是我们的物理 Linux 机器需要将它们的 ifcfg-eth0 接口更改为 ifcfg-eth0.20 才能参与网络。我们的带有以太网加密狗的 Android 平板电脑无法像 linux 那样为 vlan 标记创建这个新的以太网配置,因为它没有被扎根,而且据我所知,没有用于有线 vlan 设置的工具。(这是安卓 4.0。)
交换机不应该负责根据机器的子网和插入的端口标记网络流量吗?为什么物理 Window 的机器似乎无需额外设置即可处理 VLAN,而 Linux 物理机器需要新的接口配置才能查看流量?物理交换机不应该能够像 vSwitch 为我们的虚拟机那样做吗?
我只是想让 Android 设备使用来自 VM 和 Windows 机器的服务,但我什至无法 ping 它们或网关,因为无法在设备上手动设置 VLAN。
交换机不应该负责根据机器的子网和插入的端口标记网络流量吗?
VLAN 是第 2 层构造,IP 地址是第 3 层构造。VLAN 和 IP 地址之间没有直接关系。
在我看来,您已将交换机端口配置为 VLAN 的标记端口,而您可能不应该将它们配置为这样。当交换机端口被标记时,交换机会在帧中插入一个 VLAN 标记,连接到该交换机端口的端点负责处理该 VLAN 标记。通常,除了交换机上的中继端口外,您不需要或不需要 VLAN 标记。大多数 VLAN 流量通过未标记的交换机。交换机知道流量属于哪个 VLAN,并将根据 VLAN 在适当的交换机端口之间移动它。中继端口通常在交换机之间承载多个 VLAN 的流量,因此需要对这些帧进行标记,以便接收交换机知道流量属于哪个 VLAN。
听起来您在 ESXi vSwitch 上使用 VST(虚拟交换机标记),这可以解释为什么您的虚拟机工作。vSwitch 正在处理 VLAN 标记。
我怀疑 Windows 机器连接到未标记的本机/默认 VLAN,这解释了它们工作的原因。
所以总结一下我的假设:
您的物理 Windows 机器正在工作,因为它们连接到未标记的本机/默认 VLAN 中的交换机端口,并且它们的 NIC 配置中不需要 VLAN 标记。
您的虚拟机工作是因为 ESXi vSwitch 正在管理 VLAN 标记。
您的其他设备不工作,因为它们不在本机/默认 VLAN 中,并且您将 VLAN 端口配置为标记,并且这些机器的 NIC 配置未配置适当的 VLAN ID,因此无法处理VLAN 标记的流量。
您确实不应该处于在实际客户端设备上设置 VLAN 标记的情况。管理开销太大,而且根本无法扩展。
相反,您应该将设备的相关交换机端口设置为所需 VLAN 的未标记(或本机)。
VMware 是一个例外,但与之类似的是理解为什么在来宾操作系统和 vswitch 中没有设置标签。