使用自托管 VPN 或代理为每个应用程序提供拆分隧道

使用自托管 VPN 或代理为每个应用程序提供拆分隧道

使用自托管 VPN 或 SOCKS 代理来分割隧道各个进程(而不仅仅是 CIDR 范围)的最简单方法是什么?主要适用于 Windows,但如果它在 Linux 上也能类似地工作就更好了。

我想要的只是使用 WireGuard、OpenVPN 或任何协议建立一个隧道,并拥有一个客户端应用程序,让我连接到我自己的 VPN 服务器,并允许在隧道中包含/排除正在运行的应用程序,就像任何其他商业 VPN 一样。

是否有任何支持分割隧道和大多数现代 VPN 协议的客户端,并且最好是 FOSS?一些关于如何在 Linux 上设置 VPN 服务器并从 Android 或 Linux 客户端连接到它的指南具有基本的分割隧道功能,但我在 Windows 上找不到任何类似的东西。

PIA、Mullvad、ProtonVPN、Mozilla VPN 等商业 VPN 开发的大多数开源客户端都具备该功能,但无法连接到任意 VPN 服务器。据我所知,它们通过驱动程序服务选择性地通过 VPN 的虚拟网络接口路由流量来实现拆分隧道。

我发现这些类似的问题没有有用的答案:

相关内容