ESXi 6.7 多个子网

ESXi 6.7 多个子网

我对虚拟机还不熟悉,因为我过去总是设置物理服务器。我在 HP 服务器上安装了 VMWARE ESXi 6.7,并设置了 2 个虚拟机。一个用于 SCADA 系统,另一个用于维护服务器。两者都运行 Windows 2016 Server。

我希望将它们放在 2 个不同的子网上...第一个是 192.168.2.x,第二个是 192.168.1.x。我已使用服务器上的 4 个物理端口之一将主机连接到 .2 网络,并且可以正常与其通信。我已将第二根电缆从 .1 网络上的物理交换机连接到服务器上的第二个端口。我创建了一个新的 vSwitch(vSwitch1)并将其链接到第二个端口 vmnic1。在我想在 .1 网络上的 VM 中,我已更改硬件属性以使网络适配器指向管理网络 2(使用新 vSwitch1 的端口组)。

这是正确的做法吗???虽然我已将 Windows Server 中的 Nic 属性更改为 .1 网络上的静态 IP,但我无法与该服务器通信...我想我遗漏了一些东西。请提供建议,感谢您的帮助!

答案1

您使用了几乎所有重要的术语...让我们快速概览一下。

  • VMkernel NIC ... ESX“内部”使用的 NIC,用于一个或多个管理角色(也用于访问 Web 管理)

  • 物理网卡...系统上可用的物理网卡,用于上行到外部网络

  • 虚拟交换机...交换机的逻辑解释是将端口组与物理网卡“互连”(可以定义没有物理网卡的 vSwitch)

  • 端口组...用于连接虚拟机或者VMkernel 网卡

端口组已分配 VLAN ID,因此从物理交换机上的 VLAN 的角度来看,它充当逻辑交换机。在同一个 vSwitch 上拥有更多具有相同 VLAN ID 的端口组没有问题。一旦您在物理交换机 (VLAN) 上使用 802.1q 标记,您就不需要将流量分成 2 个 vSwitch。vSwitch 上具有已定义 VLAN ID 的两个端口组将执行相同的操作...

一旦将 VMkernel NIC 分配给端口组,您就不能将同一端口组用于虚拟机,因此即使它位于同一 VLAN 中,您也必须在 ESX 上定义另一个端口组,即使同一 vSwitch 上的 VLAN ID 相同。然后可以将第二个端口组用于虚拟机,然后这两个端口组可以相互通信...

端口组上的 VLAN ID 0 对应于所连接的物理 NIC 上的“本机”VLAN(未标记)流量。

在网络中(一般来说),VLAN 1 用于默认 VLAN,也用于生成树通信,因此我现在将尽量避免使用 VLAN 1,以免引起误解……

假设

  • VLAN 11 为 192.168.1.0/24(在以下示例中也用于 ESX 的管理)
  • 192.168.2.0/24 的 VLAN 12

工作选项 1

    portgroup 1             vSwitch0               vmnic0
     VLAN11    | --------- |        | ----------- | 11T,12T
      VM1      |           |        |
                           |        |
                           |        |
    portgroup 2            |        |
     VLAN12    | --------- |        |
      VM2                  |        |
                           |        |
                           |        |
    portgroup mgmt         |        |
     vlan11    | --------- |        |
      vmk0     |           |        |

工作选项 2

    portgroup 1             vSwitch0               vmnic0
     VLAN0     | --------- |        | ----------- | 11,12T
      VM1      |           |        |
                           |        |
                           |        |
    portgroup 2            |        |
     VLAN12    | --------- |        |
      VM2                  |        |
                           |        |
                           |        |
    portgroup mgmt         |        |
      vlan0    | --------- |        |
      vmk0     |           |        |

不起作用的选项

最有可能的就是你的情况...

    portgroup 1             vSwitch0               vmnic0
     VLAN0     | --------- |        | ----------- | 11
      VM1      |           |        |
                           |        |
                           |        |
    portgroup mgmt         |        |
     vlan0     | --------- |        |
      vmk0     |           |        |

    portgroup 2             vSwitch1               vmnic1
     VLAN12    | --------- |        | ----------- | 12
      VM2      |           |        |
                           |        |

如果我是对的,那么问题就在于您正在发送 VLAN 12 作为本机(未标记)流量,但端口组需要特定的 VLAN,而该 VLAN 在那里找不到(因为它没有标记),所以通信不起作用。

如何实现

  • 将端口组 2 上的 VLAN 设置为 0,以便它与 vmnic1 上的本机 VLAN 匹配

    portgroup 2             vSwitch1               vmnic1
     VLAN0     | --------- |        | ----------- | 12
      VM2      |           |        |
                           |        |
    
  • 将端口组 2 上的 VLAN 设置为与外部交换机上使用的 VLAN ID 相同的 VLAN ID在交换机上,将流量作为带有标记 VLAN 的中继发送出去(您可以轻松地将中继中允许的 VLAN 限制为此一个 VLAN)

    portgroup 2             vSwitch1               vmnic1
     VLAN12    | --------- |        | ----------- | 12T
      VM2      |           |        |
                           |        |
    

答案2

我来到这里并从卡米尔那里找到了答案,这是一个很好的方向,但我认为从配置的角度看,有人可能会从一个例子中受益。

假设您的虚拟机所分配到的端口组已设置为在 vlan 10 上运行,并且您正在将其连接到交换机端口 FastEthernet 0/2。

从特权模式。(启用)

conf t
  interface fastEthernet 0/2
    description Trunk
    switchport trunk encapsulation dot1q
    switchport trunk allowed vlan 10
    switchport mode trunk

就是这样,您可能需要重新启动客户虚拟机以从 DHCP 获取该 vlan 的正确 IP。

假设您已经在交换机和路由器之间设置了中继,请不要忘记将 vlan 10 添加到其允许的 vlan 中。

相关内容