![通过同一主机上的 Windows VM 发送网络流量以使用企业 VPN?](https://linux22.com/image/67851/%E9%80%9A%E8%BF%87%E5%90%8C%E4%B8%80%E4%B8%BB%E6%9C%BA%E4%B8%8A%E7%9A%84%20Windows%20VM%20%E5%8F%91%E9%80%81%E7%BD%91%E7%BB%9C%E6%B5%81%E9%87%8F%E4%BB%A5%E4%BD%BF%E7%94%A8%E4%BC%81%E4%B8%9A%20VPN%EF%BC%9F.png)
在工作中,我们有一个只能在 Windows 上运行的 VPN 解决方案。我个人在家不运行Windows,而是运行Linux(Ubuntu 14.04)。我使用 Virtual Box 设置 Windows 7 虚拟机来运行 VPN 软件。它按预期工作。
我的目标是通过 Windows 虚拟机在我的主要 Linux 主机上发送流量,以便 VPN 可以获取正确的流量。这有可能吗?
答案1
在 Linux 上,您可以定义非常精确的路由表,使您可以与多个 VPN 连接在一起。
我遇到过一次这个问题,后来解决了这里。
我在你的案例中看到的问题主要是:“如何使用Windows作为路由器?”。也许这不是提出此类问题的最佳论坛......
不管怎样,我认为有一些建议可能有用:第一个与 Virtualbox 网络相关。我强烈建议您在虚拟机上使用 2 个虚拟以太网接口:
a) 第一个可以是经典的 NAT 接口(默认 virtualbox),您将使用它作为传出接口,并将由您的 VPN 客户端使用
b) 虚拟机上的桥接接口,该接口的 IP 与您的主机(即您的 Linux 机器)位于同一网络中。
然后,您应该在主机上编写路由规则,将请求重定向到虚拟机桥接接口上的给定 IP 范围(您公司 VPN 的 IP 范围)上,即您将将此 IP 定义为该 IP 范围上的请求的网关。
然后(抱歉,这是我无法帮助您的地方)您应该在 Windows 计算机上编写一个路由表,将来自 eth1 的所有请求重定向到连接到 eth0 的 VNP 接口。
希望对您有帮助。抱歉,我真的不是 Windows 专家……
无论如何,如果您找到合适的解决方案,请:将解决方案写在这里,因为它可能对许多其他人有用。
答案2
通常不会 - 一旦一台机器(虚拟或非虚拟)连接到 VPN,它的行为就像物理连接到该 VPN 一样,它不再可以从本地网络上的其他机器访问,也不能再访问本地网络上的其他机器(除非本地网络之间的连接)网络机器和任何其他VPN 内的机器是可能的,这有点违背了 VPN 的全部目的)。
根据 VPN 实施情况,技术上可以通过 VPN 服务器端的配置来允许,寻找 VPN 分割隧道。我怀疑企业 IT 部门会允许这样做,因为它被认为是一个安全漏洞。