Proxmox 主机及其上运行的虚拟机看到网络上使用相同连接的不同机器

Proxmox 主机及其上运行的虚拟机看到网络上使用相同连接的不同机器

在设置一个新的 Proxmox 主机时遇到了一个奇怪的问题,该主机上有一个虚拟机,我想将其连接到在独立交换机上运行的专用存储网络。

设置如下:

  • 连接到交换机的所有机器共享 192.168.0.0/24 网络
  • Proxmox 主机通过 10GB 光纤连接到交换机上的两个端口
  • 其他 Proxmox 主机上的几台物理机和虚拟机也连接到交换机(物理机通过光纤连接到交换机端口,虚拟机通过其他 Proxmox 主机上的虚拟桥连接,Proxmox 主机本身是通过光纤连接的物理机)
  • Proxmox 主机上的两个 10GB NIC 在 Proxmox 中设置为绑定,MTU 为 9000,然后用作 vmbr1 的接口(其 MTU 也设置为 9000)
  • vmbr1 作为接口 1 传递给 VM(接口 0 是另一台交换机上以 1GB 运行的正常 Proxmox 管理网络)
  • Proxmox 主机在 vmbr1 上分配了 IP 192.168.0.122
  • Proxmox 主机上的所有 NIC、绑定和桥接均设置为“VLAN 感知 = 否”
  • 在 Proxmox 主机上运行的虚拟机将 vmbr1 视为名为 ens19 的接口
  • VM 通过 /etc/network/interfaces 为 ens19 分配了 IP 192.168.0.123,并将 MTU 设置为 9000
  • 在虚拟机上运行“ip a”显示已分配 IP .123 且设置了 MTU 9000
  • 在 Proxmox 主机上运行“ip a”显示已分配 .122 IP 并设置了 MTU 9000
  • 该网络中还有 14 台其他机器/虚拟机:.3/10/11/14/20/31/35/41/42/101/102/231/232/254(.10 是具有 NFS 共享的存储服务器,.254 是交换机)

现在谈谈奇怪的部分:VM 和 Proxmox 主机可以(部分)访问这 14 台其他机器的不同集合。

症状如下:

  • 当我运行“showmount -e 192.168.0.10”列出存储服务器中可用的共享时,此命令在虚拟机内部运行时会显示共享,但在 Proxmox 主机上运行时会超时
  • 当我在虚拟机上运行“nmap -sn 192.168.0.0/24”时,它发现这些主机已启动:.10/11/20/31/41/102/122/123
  • 当我在 Proxmox 主机上运行相同的 nmap 命令时,它会发现这些主机已启动:.3/14/35/42/101/122/123/231/232/254

网络上的 16 台主机(包括 PM 主机和 VM)中有两组完全不同的主机!两组中都只有 PM 主机和 VM 本身。

现在,当我尝试 ping nmap 中显示的主机时,只有部分主机响应 ping。PM 主机和虚拟机上都是如此。任何机器/虚拟机上都没有配置防火墙 (iptables)。

此网络上的所有其他物理机和虚拟机(这里讨论的 PM 主机和虚拟机除外)都能够自由地互相 ping 通,并且始终有响应。

起初我以为这是交换机物理端口上的一些奇怪的 VLAN 设置,但为什么 PM 主机和 VM(显然都连接到同一个物理端口)会发现不同的主机呢?

附注:在 Proxmox 管理接口(IP 范围 10.0.10.0/24)上,nmap 发现该网络上的所有主机。无论是在 PM 主机上还是在 VM 上。此网络上的 ping 也没有问题。

有人知道这里发生了什么吗?我有点不知所措。


编辑2024-03-21:

检查交换机(Aruba 3810M)后,其上有以下配置:

  • 该交换机有 16 个 SPF+ 端口
  • 它有 2 个 VLAN:“交换机配置 -> VLAN -> VLAN 名称”下的“DEFAULT”(1) 和“STORAGE”(2)
  • 在“交换机配置 -> VLAN -> VLAN 支持”下,主 VLAN 设置为“默认”
  • 所有 16 个端口均在“交换机配置 -> VLAN -> VLAN 端口分配”下以“未标记”形式分配给“存储”VLAN(对于“默认”VLAN,它们都显示“否”)
  • 在“交换机配置 -> Internet (IP) 服务”下,“默认”VLAN 的 IP 范围为 10.0.10.0/24,“存储”的 IP 范围为 192.168.0.0/24
  • 所有 16 个端口在“交换机配置 -> 端口/中继设置”下均显示为“已启用”、“模式 -> 自动”和“流量控制 -> 禁用”

我认为到目前为止一切都很正常?

现在,交换机上的两件事可能与该问题有关(据我有限的网络知识推测):

  1. 在“交换机配置 -> 系统信息”下,显示“巨型最大帧大小”为 9216,“巨型 IP MTU”为 9198

在 Proxmox 和所有主机上,进入此交换机的接口的 MTU 设置为 9000,它不完全是 9198 有问题吗?

  1. 在“交换机配置 -> 端口/中继设置”下,显示端口 1-8 已分配给“组”,其“类型”为“LACP”,而端口 9-16 在“组”和“类型”下未显示任何内容

据我所知,LACP 聚合多个端口,以便它们可以使用组合带宽进行传输(?)。

在这种情况下,这是有意义的,因为这里每个组有两个端口,并且这两个端口各自连接到一台服务器:

  • 端口 1 + 2 位于组“Trk1”中,并连接到 IP 以 .10 结尾的物理服务器
  • 端口 3 + 4 位于组“Trk2”中,并连接到 IP 以 .20 结尾的物理服务器
  • 端口 5 + 6 位于组“Trk3”中,并连接到 IP 以 .11 结尾的物理服务器
  • 端口 7 + 8 位于组“Trk4”中,并转到 IP 以 .12 结尾的物理服务器(这是此处讨论的 Proxmox 主机)

其他端口(不在组中)连接至以下服务器:

  • 端口 9 + 10 连接至 IP 以 .232 结尾的物理服务器
  • 端口 11 连接到 IP 以 .101 结尾的物理服务器
  • 端口 12 连接到 IP 以 .102 结尾的物理服务器
  • 端口 13 + 14 连接到 IP 以 .231 结尾的物理服务器(该服务器是另一台 PVE 主机,托管 IP 为 .3/14/31/35/41/42 的虚拟机)
  • 端口 15 + 16 没有连接电缆

现在,这些信息都无法帮助我解决问题,只会让问题变得更加奇怪。

如上图所示nmap,有问题的 PVE 主机 (.12) 及其虚拟机 (.122) 均检测到不同的运行于相同的其他 PVE 主机(.231)使用交换机上的相同端口(13 + 14)。

因此,即使 ping/nmap 扫描 (.12 和 .122) 的发送者位于相同的物理端口 (7 + 8) 上,他们对网络的看法也不同接收器(例如:虚拟机 .41 [仅由 .122 检测到] 和 .42 [仅由 .12 检测到])也位于使用物理端口(13 + 14)的同一主机(.231)上。

我以为这可能是 VLAN 问题,但检查交换机后发现并非如此。我不知道为什么 PVE 主机和其 VM 对网络有不同的看法。除了 VLAN 和物理端口外,还有其他地方可以分离流量吗?此网络中没有防火墙。

答案1

解决方案:

哈哈哈,我找到答案了……

如交换机配置中所述,有问题的 PVE 主机连接的两个端口在交换机上设置为 LACP 模式,而我在 PVE 主机上创建的绑定设置为“active-backup”!

由于某种原因,这在 PVE 主机和其 VM 之间分割了网络!

如果有人能解释为什么这种错误配置会导致这种分裂,我会很高兴知道!:-)

将 PVE 主机上的绑定也设置为 LACP,然后重新启动主机,现在一切正常!

相关内容