如何将所有互联网流量从 Mac OS 路由到 Windows VM

如何将所有互联网流量从 Mac OS 路由到 Windows VM

我目前正在使用在 Parallels 下运行的 Mac(OS Sierra)和 Windows 操作系统(Win7)。

当我远程工作时,我必须连接到公司的 VPN。不幸的是,VPN 软件仅与 Windows 兼容。我仍然运行 Windows VM 只是为了运行 VPN 和一些只能在 Windows 上运行的工作软件。

我的问题是如何将 Mac OS 中的互联网流量路由到 Windows VM。我希望一旦我这样做,我的 Mac OS 也将处于工作 VPN 之下。

我曾尝试通过隧道进入 Windows VM(Windows VM 运行 SSH 服务器),但某些端口仍然无法正确路由(如端口 22)。

任何想法都会很有帮助。

答案1

下载 :https://www.virtualbox.org/wiki/Downloads对于 MAC

将虚拟机放在内部网络中,并在连接到两个网络的虚拟机中运行第二个 NAT 路由器非常简单。例如

Internet
|
gateway
192.168.1.1
|
LAN
192.168.1.x dg 192.168.1.1
|
192.168.1.254 dg 192.168.1.1
NAT
192.168.31.254 dg blank
|
192.168.31.x dg 192.168.31.254

其中 192.168.1.0/24 是物理网络,192.168.31.0/24 是内部虚拟网络。

请看看这个https://unix.stackexchange.com/questions/212300/send-network-traffic-via-a-windows-vm-on-the-same-host-to-use-corporate-vpn

答案2

您正在寻找的答案是首先在 Windows 客户机上启用 Internet 连接共享,然后有选择地将某些数据包路由到 Windows 主机进行路由。

从 Windows:

  1. 控制面板\网络和 Internet\网络连接
  2. 右键单击适配器(可能是 NIC 或 VPN)
  3. 共享选项卡
  4. 选中允许其他网络用户通过此计算机的 Internet 连接进行连接复选框
  5. 在“家庭网络连接”下拉列表中,选择连接到主机的网络适配器

来自 MAC

现在您必须选择要发送到 Windows PC 进行路由的子网。

以下是添加路线的命令:

/sbin/route add <SUBNET> -interface <INTERFACE>

其中 SUBNET 以 CIDR 格式声明,以匹配您公司网络的子网。(示例 192.168.0.0/16)

其中 INTERFACE 是通向 Windows Guest 的接口。

重要的: 您的家庭、公司和虚拟机子网必须完全不同!您需要维护您的 Mac 访问互联网的路径,以便隧道可以通过 VPN 从 Windows 路由。您也不希望 LAN 上的本地流量通过隧道。在这种情况下,您实际上只希望公司流量进入公司网络。

迂腐的回答: 您指定全部流量包括与互联网的连接和隧道本身。我将其称为“自掘坟墓”。想象一下,这些计算机是物理的,每台机器之间都有一根电缆连接;从 Windows,通过 Mac,到互联网。然后,您拔下从 Mac 到互联网的电缆,并将其插入 Windows。现在您有一个循环。两个接口连接在相同的两台计算机之间,没有通往外部世界的路径。

相关内容