我有以下非常奇怪的设置:
- AirPort 路由器
- 运行 Virtual PC 的 iBook 已连接至 AirPort
- 运行 RDC 的 MacBook 已连接至 AirPort
- 在具有 NAT 网络设置的 Virtual PC 上运行的 Windows XP VM。
我想通过 RDC 访问 Windows VM。
显然,最新 Mac OS X 上的最新 Virtual PC 无法将虚拟交换机与 AirPort 结合使用,只能与以太网结合使用,因此 Windows VM 在 NAT 上运行。因此它不直接连接到 AirPort,因此不与 MacBook 在同一网络上。
我可以使用 SSH 端口转发以某种方式使 MacBook 可以访问 iBook 上的 VM 吗?神奇的线路是什么?
注意
接受的答案不适用于此处描述的非常具体的情况,请参阅我的答案了解详情。但是,作为涉及其他虚拟化软件的通用解决方案,它效果很好。
答案1
是的。实际上,这应该与其他 SSH 隧道没什么不同。
我将使用主机名,因为我不知道您的内部 IP 是什么:)。
ssh -L 13389:virtual_pc:3389 kch@ibook
virtual_pc 地址应该是 ibook 知道如何连接到它的任何地址。端口 13389 可以是任何你喜欢的端口,它将通过 ssh 隧道在你的本地系统上打开。你也可以把它放在你的 Macbook 上的 ~/.ssh/config 文件中:
Host virtual_pc_rdc
Hostname ibook
User kch
LocalForward 13389 127.0.0.1:3389
当然,在这两种情况下,请将 kch 替换为您的实际用户名。将其添加到您的配置后,您将获得相同的 SSH 隧道:
ssh virtual_pc_rdc
在配置的主机行中使用您喜欢的任何主机名。
建立连接后,您可以将 RDP 指向 localhost:13389 进行连接。请注意,我不太了解 RDP 软件,但您应该可以指定其他端口。
答案2
好吧,jtimberman 的回答很棒,除非你的情况和我完全一样,那你就倒霉了。
问题是:Virtual PC 不会将虚拟交换机(桥接)连接到 AirPort,而只会连接到以太网。此外,只有当以太网实际插入某个东西时才会这样做。(这使得无法使用 Mac 的 NAT 互联网共享)
当使用 Virtual PC 的 NAT 时,它只允许来自客户操作系统的传出连接,因此无法通过 RDC 进入其中。
因此,如果您使用更合理的虚拟化技术(如 VMware 或 Parallels),请检查 jtimberman 的答案。