如何连接 3 个 Openvpn Ubuntu 服务器

如何连接 3 个 Openvpn Ubuntu 服务器

在此处输入图片描述

我有三个 Open VPN 服务器,它们都为后面的客户端提供服务。我该如何连接它们,以便所有客户端都可以相互通信?本质上,我正在寻找的是如何在同一台服务器上将数据包从 tun0 路由到 tun1 和 tun2...

我已成功尝试转发这里但我只能将流量转发到一台服务器(而不是两台)。

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

我也尝试创建两个自定义路由表从这里因此,来自服务器 2(和客户端)的所有 IP 地址以及来自服务器 3(和客户端)的所有 IP 地址都在服务器 1 中的两个自定义路由表中。我的想法是服务器 1 后面的客户端可以发送 ping,路由表将路由它们。没有回应。我使用 tcpdump 观察数据包通过 tun0 接口进入服务器 1,但它们从未被路由出站。

唯一需要注意的是,每个服务器的公共 eth0 都有大量流量,因此我通过 eth1(内部 nic)发送所有 vpn 流量。

答案1



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

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

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

相关内容