![是否可以从适用于 Linux 的 Windows 子系统内部连接到 VPN?](https://linux22.com/image/1589433/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BB%8E%E9%80%82%E7%94%A8%E4%BA%8E%20Linux%20%E7%9A%84%20Windows%20%E5%AD%90%E7%B3%BB%E7%BB%9F%E5%86%85%E9%83%A8%E8%BF%9E%E6%8E%A5%E5%88%B0%20VPN%EF%BC%9F.png)
我正在 Windows 10 上的 WSL Ubuntu 安装中运行的 LAMP 堆栈上开发 Wordpress 网站。我需要进行某些 REST 调用,这些调用需要与服务器建立 VPN 连接。我的 VPN 连接在实际的 Ubuntu 服务器上正常工作,但当我在 WSL 中运行完全相同的配置时,它无法连接。这甚至受支持吗?我知道 WSL 存在局限性。我似乎找不到任何明确的信息,因为大多数文章都谈论 Windows 10 本身(主机)连接到 VPN。
答案1
当提出这个问题时,WSL2 尚未发布。
在 WSL1 上,答案是“否”。WSL1 使用与 Windows 相同的网络接口,但它不提供任何控制通过这些接口。因此,您无法直接从之内WSL。您可以在 Windows 内部连接到 VPN,并且 WSL1 中运行的任何进程都将利用 Windows 路由。
对于 WSL2,情况几乎相反。WSL2 使用基于 Hyper-V 的交换机后面的虚拟化 NAT 网络。只要在 Linux 端运行适当的软件,您就可以连接到 WSL2 发行版中的许多(可能是大多数)VPN。
(请注意问题的一部分)WSL2 关于 VPN 的缺点是,在视窗一侧经常会关闭全部根据 VPN 设置,从虚拟化 WSL2 网络访问网络。出于安全原因,许多企业 VPN 的设计都禁止访问本地网络(WSL2 网络就是其中之一)。