创建 4 节点对等 VPN

创建 4 节点对等 VPN

有没有办法在少数节点(4)之间创建点对点虚拟专用,让每个数据包都直接到达目的地?

每个节点都有一个公共地址,并将托管一些具有私有网络地址的虚拟机。每个节点都能够通过其公共地址直接连接到其他节点。

需要的是:

  1. 无中心网络(无单点故障)
  2. 数据包直接到达目的地(节点到节点)
  3. 它应该是一个单一网络(无路由)

我可以想到一些解决方案,但它们没有检查这三点:

第一个解决方案(图中的 S1)是,在一个节点上创建一个桥接 VPN,并将其他节点连接到它。这两点没有得到尊重。事实上,存在一个单点故障(VPN 服务器),从一个 VPN 客户端发往另一个 VPN 客户端的数据包必须经过 VPN 服务器(点 2)。

另一个解决方案(图中的 S2)是在每个节点之间建立桥接(使用 VPN 客户端 - 服务器),并启用生成树来清除环路。在这里,我们遵守第一条规则,因为 STP 会在节点发生故障时重塑网络,但我们仍然不遵守第 2 点,因为生成树协议会切断一些链接。

对于第三个(图像中的 S3)解决方案,可以创建 3 个不同的私有网络(例如,节点 1 的 10.1.0.0/16、节点 2 的 10.2.0.0/16...)并使用节点到节点链接在服务器之间路由数据包。此解决方案将满足需求 1 和 2,但当然不能满足需求 3。

事实上,我希望所有节点都充当分布式交换机,仅将数据包发送到持有目标 IP 的节点。

有没有可以满足这三点的解决方案?

解决方案的表示

答案1

传输模式下的 IPsec 可以做到这一点,但这确实不可扩展。我甚至会想到最多四个节点。

我目前在 Linux 上使用 strongSwan 进行 IPsec,通过这种方式设置起来很容易。


由于您编辑了问题并稍微改变了要求,我建议您看看 Open vSwitch。

相关内容