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