我需要将多个具有不同公网 IP 的服务器连接在一起,形成一个虚拟加密网络,其中服务器上的端口和服务只有网络中的服务器才能访问,并且所有通信都经过身份验证和加密。
一个明显的解决方案是使用私有范围内的 IP 组成 VPN,例如 10.1.0.0/16。但这需要为每个服务器分配额外的 IP 地址,而我想避免这种情况。
是否可以使用 OpenVPN 或其他软件来创建这样的公共 IP 网络,而无需从私有范围分配新的 IP?
答案1
不,如果您使用 OpenVPN 或类似软件,您仍然需要为 VPN 连接分配其他 IP 地址。从技术上回答您的问题的唯一方法是从您永远不需要路由到的公共 IP V4 空间的一部分分配额外的地址,并将这部分公共空间视为私有空间。但虽然这可以回答您的问题,但也很愚蠢。只需继续分配额外的 IP 地址,您就不会面临耗尽 10.0.0.0/8 地址空间的危险。
答案2
使用 IPSEC 可以实现这一点。OpenVPN 可能也可以实现这一点,但我不确定该怎么做。
对于 IPSEC,此链接有非常好的概述:https://libreswan.org/wiki/HOWTO:_Opportunistic_IPsec
我不确定该设置对其他 IPSEC 解决方案的可移植性如何(特别是对于 Strongswan,这表明这种设置可能无法实现)。
话虽如此,机会加密并不是解决您情况的唯一方法:只要有一个对节点之间的数据包应用加密的策略,那么您就可以放弃事物的机会主义方面,并且您将使用常规 IPSEC。
所以是的,我怀疑您可以在您操作的任何两个节点之间加密流量,并将其他所有内容保持不变,并避免向您的主机添加更多 IP。