我想通过物理路由器将地址 10.0.0.10 从虚拟机路由回虚拟机。如何配置虚拟机、主机和路由器来实现此目的?主机是 64 位 Vista 计算机,而虚拟机是 32 位 Vista 计算机。请提供命令。
更新:该应用程序是一个软件客户端,它与虚拟机上的软件服务器进行通信。我需要捕获客户端和服务器之间的流量。我尝试过使用 Wireshark 捕获它们之间的流量,但无法按照说明进行操作这里(该页面上并未就该技术是否有效达成共识。)如果可能的话,我想避免任何花钱的解决方案。
更新:VM 是虚拟 PC。
答案1
有什么原因导致您无法创建第二个虚拟机,其中一个虚拟机上安装客户端,另一个虚拟机上安装服务器?或者,如何在虚拟机外创建一个简单的代理服务器(或者可能使用设备外的 NAT 来转发流量)?我希望操作系统能够识别流量何时没有真正从盒子中发送出去,并跳过 TCP 堆栈中不必要的级别。
答案2
在虚拟机上,只需将 10.0.0.10 分配给您的一个虚拟网卡。
Windows 会自动为您的本地 IP 地址添加一个路由表条目,以便通过环回(127.0.0.1)接口进行路由,因此这已经为您处理好了。
如果这不能解决您的情况,请发布一些有关您正在尝试做的事情的详细信息。
编辑:有了更多详细信息,您肯定能够在 Wireshark 中看到这一点。我怀疑您使用 Wireshark 捕获了错误的网络接口。您使用的是哪种 VM 产品,您看到了什么其他已经使用 Wireshark 监控流量了吗?
如果软件应用程序允许,您可以做的一件事是在虚拟机中设置 2 个虚拟机网卡(或一个网卡上的 2 个 IP 地址)。将“服务器”部分设置为监听一个,将“客户端”设置为连接到服务器。或者,如果它是真正的客户端/服务器应用程序,则只需设置 2 个虚拟机。
答案3
Hyper-V 支持多个虚拟 Hyper-V 网络,因此您可以设置两个单独的网络,一个网络为 192.168.1.X,另一个网络为 192.168.0.X。将这两个网络的网关设置为主机服务器的 IP。然后在主机服务器上设置 RRAS 以使主机成为路由器(这关联可能会有帮助)。这样,流量就会从一个虚拟网卡传出,再传回另一个虚拟网卡。
编辑:注意到您指定了 Virtual PC。使用 Virtual PC,您可以尝试设置多个“共享网络”适配器并结合路由表条目的路由。