OpenVPN 上多个客户端之间的直接连接

OpenVPN 上多个客户端之间的直接连接

我花了一整天的时间学习 VPN,并一直在使用以下设置:

位于德克萨斯州同一数据中心的 2 台 VPS 服务器。 (Texas1 和 Texas2)、1 台位于英国的 VPS 和 1 台位于亚特兰大并运行 Ubuntu 的 VPS。

我将英国 VPS 设置为我的 OpenVPN 服务器,将所有其他 VPS 设置为客户端。相关服务器配置:

端口 1194
原始 UDP
开发水龙头
服务器 10.20.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
客户对客户

客户端配置:

客户
远程 myserver 1194
开发水龙头
原始 UDP
解析-重试无限
不绑定

我很高兴(在添加客户端到客户端后),Texas1 和 Texas2 可以在 VPN IP 上互相 ping 通。问题是,当它们 ping 公共 IP 时需要 <1ms,当它们 ping 内部 IP 10.20.0.x 时需要 226ms(巧合的是 ping 英国需要 113ms)。

这是我的全部配置,我很害怕桥接和 iptables(尽管我显然必须学习)。我对服务器端很陌生,主要从事 Web 开发,正在使用 Ubuntu 10.04 进行学习。

有人能建议我如何才能最好地让客户端切断服务器,这样带宽就不会被浪费,也不会在途中被发送到另一个大陆。我还想将我的 Windows 家庭网络(我有 DD-WRT 路由器)添加到 VPN,使用路由器作为客户端,我想我必须为它设置自己的子网?

有人能建议我实现目标的最佳方法吗?非常感谢!

答案1

为了让客户端直接互相交谈,而不使用中央服务器节点,您必须设置通常称为网状网络的网络 - 其中所有节点都与所有其他节点有连接(您现在所做的通常称为“中心辐射型”)。

不幸的是,我目前还不知道有什么“好”的方法(即简单)来使用 OpenVPN 来管理这个问题。如果你的站点相当简单(4 个节点,包括你家里的 DD-WRT),这可能还不算太糟。在那之后,你将开始体验通过每个节点上的 OpenVPN 服务器管理到每个子网的静态路由的痛苦。

很抱歉,这不是一个更“充满希望”的帖子,但如果我能帮助您进行任何配置或澄清,请告诉我。

相关内容