ESX / Cisco 环境中 Linux 内核 2.6 / 3.3 之间的 VLAN 问题

ESX / Cisco 环境中 Linux 内核 2.6 / 3.3 之间的 VLAN 问题

我将尝试解释我遇到的一个问题 -

我有一个在 esx 4.1 上运行的虚拟机,其接口通过 cisco 3750 上的访问端口连接到 VLAN800。它运行 linux - 内核 2.6.24,在 10.10.0.0/16 上有大约 5 到 10 Mbit 的聊天,并且需要照顾各种多播地址。

我需要将网络上的某些设备与某些其他设备隔离,所有设备都必须与该 VM 通信。不,地址空间无法分离,网络也无法轻易划分为 VLAN。VM 上的软件只监听一个接口。私有 VLAN 似乎是可行的方法。

因此,作为测试,我在虚拟机上构建了一个桥接器,可以根据需要将 VLAN 连接在一起。一切都很好,一切都按预期工作。但偶尔(叹气)会出现一些延迟,导致网络上的几个 Profinet 设备出问题,因为您知道,您实际上不应该随意地在各处中继实时协议。

我将它转移到我们的测试/备份服务器 - 运行良好,但我不想它在测试服务器上运行,因为我们经常对其进行修改。

所以我对自己说:“我要把它放在一个新的虚拟机上进行测试和调整。”我下载了一个带有内核 3.3 的小型 Linux 发行版,并将其安装为一个新的虚拟机,并使用 Vlan 作为单独的接口进行测试。

  • 我启动了测试虚拟机——正常。
  • 我启动了所有单独的接口 - 没问题。我可以 ping 生产虚拟机,使用 tshark 查看各种流量,等等。
  • 我建立了一座桥并将主 VLAN 放在其上 - 运行 2.6 的生产 VM 立即丢失其多播流量 - 单播很好。(?)
  • 我关闭了桥梁-仍然没有多播流量(!?)
  • 我对生产虚拟机进行电源循环(!?!?) - 多播流量返回。
  • 我将所有内容中继到测试虚拟机中,并在 Linux 下创建 vlan 接口 - 结果相同,只要我启动网桥......生产虚拟机上就没有多播。

好的,我休息一下,把事情放一边。我决定玩几个 ubiquiti 子弹无线电 - 我正在测试各种固件作为副项目。我用 Open-wrt-12.09 刷新收音机。我在我们的网络上的思科端口上启用了中继,这样我就可以摆弄多个 VLAN 和 SSID

  • 我打开收音机并连接——好的。
  • 我从中继创建了一个 VLAN 接口...与那边的生产 VM 相同的 VLAN,相隔三个思科路由器。好的。
  • 我将 VLAN 接口桥接到 wifi 接口,然后立即接到电话。生产虚拟机 (意外!) 丢失了其多播流量。同样,直到我关闭虚拟机电源后,一切都恢复了。

这到底是怎么回事?

答案1

对测试设置的进一步调查显示,这与 VM 或 ESx 无关 - 看似 VM 丢失多播的实际上是 WinXP 客户端丢失多播 - 重新启动 VM 可“修复”客户端。我将提出一个单独的问题,因为它似乎是与 Linux 3.3 中的桥接代码的交互,而不是 XP 对 igmp 查询的响应。

相关内容