2

我的设备是一个基于 Linux 的 IP 内嵌式设备,它对网络外围设备是透明的,也就是说,它的任何接口都没有分配 IP 地址。

为了便于讨论,让我们以 ADSL 连接为例,当设备检查双向流量时,网络的行为与设备不存在相同,连接到线路(请参阅附图中的物理设置)。

我想知道我是否可以将该“设备”封装在 Windows 机器中并使其虚拟运行,以便通过使用虚拟 NIC(或 Windows 中的任何名称),它仍然可以内嵌在 ADSL 路由器和 Windows 网络接口之间,并检查流量,就像它在单独的物理设备上一样,附图中“虚拟设置”下的图形显示了我想要实现的目标。

看了一下VirtualBox docs,好像绑定右边比较简单,也许我应该设置一个网络适配器为Bridge Networking,VirtualBox将它连接到主机上的物理网卡,直接交换网络数据包,绕过主机操作系统的网络堆栈(在我的例子中是 WinXP)。

但是,我不知道如何实现图表的左侧,这需要将虚拟 NIC 添加到 Windows 并正确配置它们以使该管道成为可能。

我将不胜感激任何帮助。

顺便说一句,如果使用 VirtualBox 但使用其他虚拟化解决方案(例如 VMWare)无法做到这一点,我也会接受另一个。

组件设置图 http://img715.imageshack.us/img715/810/physicalvsvirtualsetup2.png

4

1 回答 1

0

这取决于您是否想要(或者更多,如果可以的话)您的 linix ( *nix ) 内联设备将可能通过它的数据包从一个网络“路由”到另一个网络,以及您是否希望这个“应用程序”基本上没有访问权限直接退出您的虚拟环境(图中的绿色框)。如果是这样,可能会起作用的是:

  • 您的“应用程序”在虚拟机(例如另一个 windows xp 实例)中运行,并在虚拟内部或“私有”网络上配置了 NIC(我很肯定 virtualbox 和 vmware 服务器都有此选项)但具有相同的 IP 子网并作为您的实际网络 192.168.1.0
  • 您的 *nix 设备(必须是虚拟机)的左侧 - eth0 - 也设置在此内部/专用网络上
  • *nix 设备的右侧 - eth1 - 设置在桥接网络上,因此它可以实际访问您的真实网络

这将使查看流量/数据包是否实际上通过您的 *nix 设备变得稍微容易一些,因为该应用程序将无法访问虚拟内部/私有网络之外。注意当我说内部/专用网络时,我不是在谈论 VPN,只是主机或您的网络可以访问的专用网络,并且虚拟机无法联系主机或您的网络。

不知道你的 *nix 设备在做什么有点困难。如果它不能路由或充当某种描述的直通设备,那么 dhcp 广播将不会到达您的 dhcp 服务器——鉴于您在图表中提到它,我猜测您正在做一些事情。

如果您的 *nix 设备是真实设备,那么显然这将不起作用,因为我假设它是某种描述的虚拟机。如果是这种情况,请告诉我,我会就如何处理这种情况提供一些建议。

祝你好运

于 2010-07-26T04:37:02.320 回答