多个 IP 设置可模拟多个设备

多个 IP 设置可模拟多个设备

设置如下

基于以太网 IPv4/UDP 网络的控制系统,连接有 20 台不同的设备。用于测试其中 2 台设备的测试设施。用于模拟任何其他设备的模拟器软件。两台基于 Windows-7 的笔记本电脑用于运行模拟器软件。

每个软件模拟器在初始化时,都应该将 PC 的 IP 设置为它正在模拟的设备的 IP。这曾经有效,但在不久前的 Windows 安全更新之后,即使以管理员权限打开,程序也无法执行此操作。此外,模拟器软件只能与第一个物理适配器的第一个 IP 寻址设置一起使用,因此使用多个适配器甚至一个适配器上的多个设置都将不起作用。从那时起,每次更改模拟设备时,我都被迫手动更改 IP 设置。此外,我一次只能模拟最多两个其他设备,我需要模拟更多设备。

我需要一个解决方案,而不是重新编码别人的软件(我可以访问代码,但不能访问原始程序员,因此这可能需要几个月的时间)。我考虑过使用 VirtualBox,并将每个模拟器软件放在笔记本电脑上自己的虚拟机中。我想过三种方法可以做到这一点,但不确定哪种方法可行。

  1. 将多个 USB 转以太网适配器连接到笔记本电脑,每个设备一个。将每个适配器设置为模拟硬件的特定地址,并将每个虚拟机绑定到特定适配器,我知道如何在 VirtualBox 中执行此操作。这样,在每个虚拟框中,绑定的适配器看起来就像程序中第一个适配器的第一个设置,即使在实际机器上并非如此。问题是 - 在 Windows 7 上我可以拥有的不同以太网适配器数量是否有限制?我在想,如果我放一个大 USB 集线器和 18 个适配器,我肯定会遇到问题。

  2. 使用较少数量的以太网适配器(1 或 2 个),并使用 netsh 在每个适配器上设置多个设置。有没有办法将每个 VirtualBox 绑定到一组特定的设置,而不仅仅是物理适配器?如果可以的话,我不知道该怎么做。

  3. 使用较少数量的以太网适配器(1 或 2 个),不要更改 Windows 7 中的任何设置,但在每个 VirtualBox 中的虚拟控制器上使用不同的 IP 设置。这样可行吗?VirtualBox 中设置的 IP 在进入真实网络时会被使用吗?

我更愿意做 #2。如果可能的话,我该怎么做?如果不行,我成功的最佳途径是什么?

答案1

第三个方法奏效了。在虚拟机的“网络”设置中使用“桥接适配器”,并桥接到实际使用的物理网络适配器。这样做后,流量会进入所有 IP 的网络端口,VirtualBox 主机桥接“适配器”会将数据包路由到相应的 VM。只需要一个物理端口。我已经能够运行多个 VM,并且所有 VM 都绑定有自己的虚拟端口。

相关内容