使用 OpenVPN 的多个客户端连接

使用 OpenVPN 的多个客户端连接

我有 2 台运行 OpenVPN 的服务器,我们将它们称为服务器 A 和服务器 B,我还有这两台 OpenVPN 服务器的客户端,称为客户端 1,我试图将客户端 1 连接到另一台机器上的两台服务器,在本例中我将其称为机器 1,这两台服务器的 OpenVPN 配置都设置为不同的子网,因此它们不会发生冲突。

如果我尝试在没有任何 OpenVPN 选项的情况下将 client1 正常连接到两个服务器,它将无法连接,因为默认的 client1 配置正在通过 VPN 路由所有流量,这意味着不能有 2 个到 OpenVPN 服务器的连接,因为一个连接将尝试路由所有流量,而第二个连接也将尝试这样做,但会发生冲突。

所以这就是为什么我尝试在 machine1 上使用 route-nopull 选项连接服务器 A 客户端 1 和服务器 B 客户端 1。

问题如下,我使用 TAP 接口将 machine1 连接到服务器 A 和服务器 B,并且两个接口都已连接并且它们获得了一个 IP,但没有路由,因为我使用了 route-nopull 选项,并且如果我想使用服务器 A 为客户端 1 提供的 IP 在 machine1 上运行像 Web 服务器这样的应用程序,并尝试在与服务器 A 位于同一子网中的另一个客户端上访问它,这将行不通。

更多信息:

Server A range for clients: 10.8.2.0-10.8.2.255
Server B range for clients: 10.8.3.0-10.8.3.255
client1 on server A has the static IP: 10.8.2.3
client1 on server B has the static IP: 10.8.3.2
Server A and B have client-to-client option enabled

OpenVPN 服务器使用 CentOS 6.5 最低版本,而 machine1 使用 CentOS 7。

有什么想法可以让我连接两台服务器或两台以上的服务器,以便 TAP 接口可以像普通以太网接口一样使用,在所连接的 OpenVPN 服务器的任何 IP 上启动 Web 服务器或任何应用程序?

答案1

抱歉,我理解错了。所以您想从与 VPN 服务器位于同一子网的计算机访问您的 VPN 客户端?

这里你需要的是路由,具体来说,你需要在 VPN 服务器上打开它。VPN 服务器子网上的机器需要一种方法来知道如何访问 VPN 客户端,无论是使用本地路由,还是知道路由的网关。你的 VPN 客户端需要知道如何回复,可以使用“client-config-dir”、“iroute”和“route”选项来组织。这比网关稍微复杂一些,但仍然相当容易。

请看这里:https://openvpn.net/community-resources/how-to/#expanding-the-scope-of-the-vpn-to-include-additional-machines-on-either-the-client-or-server-subnet。它非常清楚地描述了此类设置所涉及的所有步骤。


原始答案(留下来让评论有意义)

你看过这个吗:https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway

在我看来,您的问题似乎是网关重定向。您可能希望在服务器级别通过注释“redirect-gateway”将其关闭,或者在客户端级别使用“--pull-filter ignore redirect-gateway”对其进行过滤

相关内容