如何在 Linux/Ubuntu 下打开其他 VPN 连接内的 VPN 连接

new*_*vpn 6 linux routing vpn pptp nat

在 Ubuntu 下可以有两个 VPN 连接吗?

设想:

  1. 我的组织相当大,拥有自己的庞大网络。
  2. 组织内的每个组都有自己的子网。
  3. 所有子网都通过路由器。子网可能有公共或私有 IP 地址,但在任何情况下,中央路由器都不会将任何 PPTP 或其他对构建 VPN 有用的有用流量路由到它们。
  4. 我们组的网络同样位于交换机/路由器后面。交换机有一个公共静态 IP 地址,我们子网中的计算机有私有 IP 地址。我无法从我们组织的网络外部通过 VPN 连接访问交换机/路由器。
  5. 组织通过专用访问节点提供对组织网络的 VPN 访问。
  6. 我们的交换机/路由器具有“VPN 通道”,可通向具有 VPN 服务器的计算机系统。
  7. 我有一个带有 VPN 服务器的系统,用于在我们的网络中运行 PPTP。如果我在组织网络内,我可以连接到它并建立 VPN 连接。

所以我想做的是:

  1. 通过 DSL 将我的家用电脑连接到互联网。这很简单。从这里,我无法访问组织网络中的任何计算机,也无法“看到”我们组的交换机(因为组织的路由器不路由或转发 VPN 连接)。
  2. 我想打开到组织网络的 VPN 连接。这又是容易和可能的。从这里,我可以看到我们组的交换机,但看不到我们组的网络内部的任何东西。
  3. 打开与交换机/路由器的 VPN 连接,然后将其转发到带有 VPN 服务器的系统。第二个 VPN 连接应该“嵌套”在第一个连接中。它将允许我连接到我们组网络内的应用程序,例如数据库和网络共享。我不知道如何让这个工作。

我尝试过但不起作用的事情:

  1. 尝试直接打开到我们组的交换机/路由器的公共 IP 地址的 VPN 连接。连接甚至从未到达交换机,即,不会由组织的路由器路由。

  2. 我尝试在我的 Linux/Ubuntu 系统中建立第一个 VPN 连接,在 Virtual Box 中启动另一个系统实例,然后在虚拟化系统中打开一个到我们网络的 VPN 连接。我认为这应该有效,但事实并非如此。

有什么方法可以创建一个 VPN 连接,而不是使用物理 DSL 连接,而是使用现有的 VPN 连接?

或者还有其他更简单的解决方案吗?我个人认为 VPN 是可行的方法,因为我需要访问多个网络服务(数据库、共享,甚至打印机),但我不确定。

jof*_*fel 2

只要 VPN 服务器在内部不使用相同的 IP,就应该可以 - 但可能不能仅使用像NetworkManager这样的一个包装器。您需要手动启动至少一个 VPN 客户端或使用其他工具(例如kvpnc.

根据您的需求,您需要小心路线。您需要确保第二个 VPN 客户端设置的路由不会取代对第一个 VPN 服务器的直接访问。在启动第二个 VPN 客户端之前,您可能需要通过调用以下命令来设置显式路由选项:

ip route add IP_OF_FIRST_VPN_SERVER dev WAN-INTERFACE
ip route add IP_OF_SECOND_VPN_SERVER dev FIRST-VPN-INTERFACE
Run Code Online (Sandbox Code Playgroud)

(将大写字母替换为相应的值。您的 WAN 接口可能是eth0或wlan0,vpn 接口可能是 ppp0)。

此外,两个 VPN 客户端需要使用单独的接口(通常应该是这种情况)。