是否可以从 Linux 的 Windows 子系统内部连接到 VPN?

Jos*_*Kim 7 networking vpn ubuntu windows-10 windows-subsystem-for-linux

我正在 Windows 10 上的 WSL Ubuntu 安装中运行的 LAMP 堆栈上开发 Wordpress 站点。我需要进行某些 REST 调用,这些调用需要到服务器的 VPN 连接。我的 VPN 连接在实际的 Ubuntu 服务器上正常工作,但是当我在 WSL 中运行完全相同的配置时,它无法连接。这甚至支持吗?我知道 WSL 存在局限性。我似乎找不到任何明确的信息,因为大多数文章都在讨论连接到 VPN 的 Windows 10 本身(主机)。

Not*_*1ds 1

在提出这个问题时,WSL2 尚未发布。

  • 在 WSL1 上,答案是“否”。WSL1 使用与 Windows 相同的网络接口,但它不提供对这些接口的任何控制。因此,您无法从WSL直接连接到 VPN 。您可以连接到 Windows 本身内的 VPN,并且 WSL1 中运行的任何进程都将利用 Windows 路由。

  • 对于WSL2来说,情况几乎相反。WSL2 在 Hyper-V(基于)交换机后面使用虚拟化、NAT 网络。只要您在 Linux 端运行适当的软件,您就可以连接到 WSL2 发行版中的许多(可能是大多数)VPN。

    (虽然请注意问题的一部分)WSL2 关于 VPN 的缺点是,在Windows端运行 VPN 通常会关闭来自虚拟化 WSL2 网络的所有网络访问,具体取决于 VPN 设置。出于安全原因,许多企业 VPN 被设计为禁用对本地网络(WSL2 网络就是其中之一)的访问。