双VPN(OpenVPN)

我试图在两个Debian 8上用openvpn 2.3.4build立一个双VPN。假设我有这个“图”:

客户端 – > A(vpn服务器1) – > B(vpn服务器2)

接口:

  • 在A:eth0与公共ip&tun0 10.8.0.1
  • B:eth0 with public ip&tun0 10.8.1.1

客户与A之间以及A与B之间的连接分别工作。 另外,只要连接到服务器vpn B,我就无法连接到服务器A.

我的猜测是,我需要A上的第二个接口,以便:

  1. 客户端将其networking接口绑定到tun0,并使用由A启动的vpn连接
  2. 服务器A有一个接口eth1,服务于服务器端的VPN部分,并通过接口eth0与openvpn客户端连接到vpn服务器B
  3. 服务器Bpipe理从A到客户端的连接

我的问题是:我在这里正确思考? 除了理论,我还没有find任何有关configuration双VPN的实际解释…

另外,是否可以将一个接口(在A上)“拆分”为2个新的虚拟接口(例如eth0:0和eth0:1),并将它们用作eth0和eth1的替代,如前所述?

谢谢您的帮助 !

编辑1:要回答qasdfdsaq,并使我的问题更清晰,我想:客户端连接通过VPN隧道从A – > A通过VPN隧道连接到B – > Bpipe理客户端连接

最后,客户端应该有服务器B的IP在互联网上。

编辑2:我想我可以实际上总结我的问题,因此:A和B是Debian 8服务器,其中B运行openvpn服务器。 A有一个networking接口与公共IP,eth0,我可以ssh。 我ssh到A并启动openvpn客户端。

A通过隧道正确连接到B,并且可以通过B访问networking, 但是我不能再对A进行ssh(因为我猜所有的,这里意味着我唯一可用的接口绑定到VPN连接。

有没有办法来解决这个问题?

我的猜测是,我需要A上的第二个接口,以便:

  1. 正确。 您可以通过添加到VPNconfiguration文件来指定TUN / TAP接口的名称: dev tapXdev tunX

  2. 在客户端使用: no bind选项或通过添加到服务器port 119X指定其他端口: port 119X和客户端remote address:119X

  3. 启用ip forrward @ server 1&2。

  4. 设置路由,networking的每一个片段都必须知道子网的存在。

另外,是否可以将一个接口(在A上)“拆分”为2个新的虚拟接口(例如eth0:0和eth0:1),并将它们用作eth0和eth1的替代,如前所述?

我完全错过了这个感觉。

我已经详细介绍了如何在这里发布一个双VPN: http : //www.optionull.com/2017/01/29/routing-traffic-through-openvpn-multiple-hops/

我使用的设置是:

  1. 终点打开一个隧道(tun0)到服务器A.
  2. 终点在tun0中打开隧道(tun1)到服务器B.
  3. 所有stream量都通过tun1路由到互联网。