在 OS X Yosemite 中,如何让某些应用程序通过 VPN 运行,而其他应用程序在本地 LAN 中运行?

在 OS X Yosemite 中,如何让某些应用程序通过 VPN 运行,而其他应用程序在本地 LAN 中运行?

我有一台装有 OS X (10.10.3) 的 Mac,我需要通过 VPN+RDP 连接到远程 Windows PC。这里的问题是,一旦 VPN 启动,我的互联网连接就不再可用。我只能通过 VPN 访问一些机器,但不能通过 WAN 访问,这真的很烦人。作为一种解决方法,我使用装有 Win7 的 VBox 机器,在其中设置了 VPN 和 RDP。这允许我同时从主机访问 WAN,但显然有点过头了。

有没有更轻量的解决方案?

UPD1:VPN 连接是通过本机 Mac 客户端设置的,该客户端可在网络设置中找到。这是一个 PPTP 连接。
另一端是某种 Windows Server。不知道是哪个版本或其他任何信息。无法更改服务器端配置。

我还尝试禁用Send all trafic over VPN connectionVPN 设置中的复选框并降低其在Set service order对话框中的位置,但这似乎没有效果。

答案1

好问题。

首先:为什么使用 VPN 时无法访问互联网?VPN 允许远程访问本地计算机,就好像远程计算机属于 LAN 一样,再次允许 WAN 导航,就好像远程计算机属于 LAN 一样,IE使用 LAN 的 (公共) IP。您显然是在利用第一个功能,而不是第二个功能。也许您应该联系您通过 VPN 访问的机器的本地管理员,以澄清他/她为什么不授予您通过 VPN 浏览 WAN 的权限。

第二。严格来说,没有,这个问题没有更轻量级的解决方案。原因是迄今为止设计的更轻量级的解决方案(Linux 容器和网络命名空间)存在于 Linux 内核中,而不是 Mac 上(或任何其他 UNIX 内核,据我所知)。

Linux 容器(或其变体,Docker已移植到 MAC,但遗憾的是,它们再次基于在 MAC 上运行的底层 Linux VM 计算机。您可以找到更多信息这里如果你愿意,可以尝试一下。但我不确定这会给你带来多少简化,因为最终你总是有一个 VM 运行你的连接。如果你有多个不同的同时连接,可能会简化,因为一个 Linux VM 就可以处理所有连接。但是,对于一个额外的连接,我看不到有什么大的改进。

第三,Darwin 内核真正缺少的,比这些虚拟化解决方案更缺少的是策略路由(有时也称为源路由),IE有可能同时拥有两个路由表。使用少量虚拟接口(已移植到 Darwin),这意味着可以轻松解决问题。在此之前,没有希望。

相关内容