如何连接3 Openvpn Ubuntu服务器

在这里输入图像说明

我有三台Open VPN服务器,都为客户提供服务。 我怎样才能连接它们,让所有的客户都可以相互交谈? 基本上我正在寻找的是如何将数据包从tun0路由到tun1和tun2在同一台服务器上…

我已经成功尝试在这里转发,但我只能转发stream量到一个服务器(而不是2)。

我已经尝试从其他2台服务器发送每台服务器的ovpn文件。 这允许服务器A ping其他两台服务器(B&C)及其各自的客户端,但服务器A后面的客户端无法通过服务器A发送ping到其他隧道(客户端连接)。

我也尝试从这里创build两个自定义路由表,所以从服务器2(和客户端),所有从服务器3(和客户端)的IP地址都在服务器1中的两个自定义路由表。我的想法是客户端背后的服务器1可以发送一个ping,路由表将路由它们。 没有反应。 我使用tcpdump来监视tun0接口上的服务器1的数据包,但他们从来没有路由出站。

唯一的警告我有大量的stream量来自每个服务器的公共eth0,所以我通过eth1(内部nic)发送所有vpnstream量。

首先你需要知道一个tun和tap设备之间是有区别的。
tun仅模拟PTP连接,而tap设备模拟路由设备。
您可以在所有这些服务器之间创build一个额外的隧道(tap)并设置路由。

这意味着您需要在每个客户端上创build两个水龙头设备。
Server1Tap1需要与Server2Tap1位于同一个子网中。
Server1Tap2需要与Server3Tap1位于同一个子网中。
Server2Tap2需要与Server3Tap2位于同一个子网中。
然后你需要创build从每个服务器到另一个的路由。
请记住允许在每台服务器上路由:

echo 1> / proc / sys / net / ipv4 / ip_forward