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

Joh*_*ohn 5 vpn vps openvpn site-to-site-vpn ubuntu-10.04

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

位于德克萨斯州同一数据中心的 2 个 VPS 服务器。(Texas1 和 Texas2),英格兰有 1 个 VPS,亚特兰大和 Ubuntu 有 1 个 VPS。

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

端口 1194
原始UDP
开发者点击
服务器 10.20.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
客户对客户

客户端配置:

客户
远程 myserver 1194
开发者点击
原始UDP
解决重试无限
没有绑定

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

这是我的全部配置,我害怕网桥和 iptables(尽管我显然必须学习)。我对服务器端很陌生,主要做网络开发,正在学习 Ubuntu 10.04。

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

任何人都可以建议实现我的目标的最佳方法吗?非常感谢!

jha*_*ley 5

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

不幸的是,我目前不知道有任何“好”(读:简单)的方法来使用 OpenVPN 来管理这个问题。如果您的站点相当简单(4 个节点,算上您家里的 DD-WRT),这可能还不错。之后,您将开始经历通过每个节点的 OpenVPN 服务器管理到每个子网的静态路由的痛苦。

很抱歉,这不是一篇更有“希望”的文章,但如果我可以帮助您进行任何配置,请告诉我。或澄清。

  • 谢谢。事实证明 OpenVPN 根本不是为我想要做的事情而设计的。相反,我安装并设置了tinc(如您建议的网状VPN),这非常简单并且似乎运行良好。再次感谢。 (2认同)