如何通过虚拟机路由网络流量

如何通过虚拟机路由网络流量

我的 VPN 设置有问题。

  • 我使用 Cisco AnyConnect 从我的 Windows 主机连接到 vpn。
  • 我有一台 Linux VM,可以在其上通过路由表配置 VPN 拆分(一半流量流向 NAT 适配器(主机上使用 VPN),另一半流向桥接器(直接互联网访问)

  • 现在我想开始使用 WSL(适用于 Linux 的 Windows 子系统)而不是 VM。

  • 我无法在 Windows 上配置 vpn-split,因为当 VPN 处于活动状态时我无法更改路由配置(不会添加非持久路由,忽略持久路由)
  • 我考虑过仅从 VM(使用 openconnect)连接到 vpn,并配置 Windows 以通过此连接推送相关流量。

我的问题:

  • 这个想法是否存在明显的问题?
  • 我该如何设置?我知道如何在 Windows 上配置客户端路由。据我所知,我的虚拟机需要公开一个网关,我必须将流量指向该网关。通常使用哪种软件来做这种事情?我是否必须在虚拟机上设置 VPN 服务器(必须以某种方式将流量推送到下一个 VPN)或者有更简单的解决方案?

我的知识仅限于高级用户级别,因此我可能缺乏一些管理员层面的理解。我不需要完整的教程,但目前我甚至不知道下一步该用谷歌搜索什么。

答案1

您可以使用桥接网络适配器配置虚拟机。这样,它看起来就像任何其他物理机器一样,您可以在虚拟机上安装 VPN 客户端,并将所需的流量从主机路由到虚拟机。许多虚拟机主机还允许特殊的“仅主机”接口,这些接口是专用网络上主机和客户机之间的直接连接。尽管名称如此,但您可以为这些接口设置路由条目,并将部分或全部流量导向它们。

您需要做的是配置虚拟机以将流量转发到 VPN。由于您通常只会为 VPN 客户端获取一个 IP,这意味着虚拟机必须使用 NAT。

相关内容