客户端 <--> 服务器 <--> 客户端 VPN?

网络工程 虚拟专用网
2022-02-16 22:24:01

我有以下用例,我需要找出一个 VPN 解决方案。

  • 100 多个偏远地区
  • 每个远程位置都有几个用户,这些用户应该只能连接到该远程位置
  • 用户与远程位置不在同一位置
  • 用户应有权访问远程位置的本地网络
  • 不同的位置不应相互访问

我的想法是拥有一个中央 VPN 服务器,然后让每个远程位置和所有用户都连接到该服务器,并以某种方式将发往远程位置的流量从客户端路由到服务器,再到远程位置。

我需要使用中央 vpn 服务器,因为某些网络基础设施不在我的控制范围内,并且不允许传入连接,因此必须从远程位置启动 VPN。

到目前为止,我已经尝试过 pfsense 和 openvpn,虽然我可以设置隧道,但我无法在客户端 <--> 服务器 <--> 客户端设置中到达远程局域网(我可以在更简单的客户端 <--> 服务器设置中)。我还担心使用 pfsense 管理如此大量的位置和用户。

1个回答

我的想法是拥有一个中央 VPN 服务器,然后让每个远程位置和所有用户都连接到该服务器,并以某种方式将发往远程位置的流量从客户端路由到服务器,再到远程位置。

这几乎是标准配置——总部到分支机构连接的中心辐射和漫游用户的中央 VPN 网关。在这个确切的场景中,我们正在为客户端使用 OpenVPN,尽管分支位置较少。

在客户端 VPN 网关上,您需要设置具有所需访问权限的组 - 可能每个位置一个组。有了这么多位置/组,请寻找支持 API 或脚本设置的解决方案。

您可以直接授予每个组对其远程位置的访问权限,或者分配一个不同的地址池,让您决定谁去中心网关上的位置。

如果存在连接问题,请确保

  • 客户端可以在里面 ping 通它的隧道网关
  • 客户端可以ping中央网关
  • 客户端可以ping他们的分支网关
  • 您已经设置了从 VPN 网关到分支网络和相反(!)方向的所有路由,无论是静态的还是使用 OSPF 之类的路由协议
  • 您已允许 VPN 客户端在所有中间网关和防火墙上访问它们各自的位置。