到目前为止,我读过的有关 OpenVPN 的所有示例要么显示“客户端连接到服务器(点对点)”,要么显示“两个网络相互连接(桥接)”。
我想要实现的是,我想要连接 10 台服务器,每台都在不同的 ISP 上运行。这些服务器之间的连接应该是安全的。我完全不明白的是,哪台服务器将成为 OpenVPN 客户端,哪台服务器将成为 OpenVPN 服务器?最终的解决方案应该允许我设置一个基础设施,其中所有服务器都将拥有一个私有 IP 地址并形成自己的“私有/虚拟网络”(在 10.0.0.0/24 范围内):
Server 1 (Public IP: xxx.xxx.xxx.xxx) => Private IP 10.0.0.1
Server 2 (Public IP: xxx.xxx.xxx.xxx) => Private IP 10.0.0.2
Server 3 (Public IP: xxx.xxx.xxx.xxx) => Private IP 10.0.0.3
Server 4 (Public IP: xxx.xxx.xxx.xxx) => Private IP 10.0.0.4
(因此,最终服务器机器将拥有一个公共 IP 和一个私有 IP)。而对我而言,什么才是最重要的:机器不位于其自己的物理网络中(例如办公室),而是分散在不同的 ISP 上,只能通过其公共 IP 访问 => 对于这种情况,我尚未找到任何教程/文档。(这似乎是某种形式的多点对点?)
我的问题是:我必须在 OpenVPN 中做什么才能进行设置?每台服务器是否都需要安装/配置客户端和服务器?我该如何在它们之间进行“连接”?每台“服务器机器”是否都会运行 OpenVPN 客户端和 OpenVPN 服务器进程,从而客户端将连接到所有其他服务器 OpenVPN 实例?所以我必须在所有服务器机器上配置客户端以连接到所有其他服务器机器(到相应的 OpenVPN 服务器进程)?
感谢您的建议
弗朗索瓦
答案1
我认为最简单的方法是将一台服务器指定为路由器。这将运行 OpenVPN 服务器。然后,您使用“road warrior”设置将客户端软件设置为其他每台服务器。如果您的路由器正确推送路由规则(如果),那么所有客户端都应该能够相互通信。
您的“路由器”服务器将成为瓶颈,因为所有流量都将经过它。
如果您想要一个完全网格化的设置,那么您很可能需要 10 台服务器中的每一台都充当服务器(对于其他 9 台机器)和客户端(对于其他 9 台机器)。我认为这是可能的,但看起来很糟糕。