是否有任何分布式/网状/ P2P VPN?


12

我有个人VPN,可以连接多个设备,以便它们可以在始终可访问的网络上具有固定的IP地址(只要它们已连接到Internet)。这对我来说是必要的,因为我的设备可以在不同的不可预测的网络(4G网络手机,大学的笔记本电脑,家庭的家庭服务器)上移动,并且我有一个备用服务器需要连接到它们(有时,我也必须)。

我也在考虑安装诸如同步之类的东西,它也可能受益于较低的延迟和更近的节点。

另外,我很懒,我喜欢从智能手机播放/暂停在家庭服务器上播放的音乐,这可能不在同一网络上(应该,但是并非总是如此)。

这意味着我有一台OpenVPN服务器,并且openvpn客户端在每台设备上运行。它们都连接到服务器,并且来自任何两个节点的任何流量都必须通过服务器,该服务器相对较远,并且吞吐量非常有限。这意味着延迟和缓慢。当我按下“暂停”按钮时,可能需要10秒钟才能真正暂停音乐。即使两个节点实际上都在同一局域网中(因为它们通过VPN进行通信)。嗯

理想情况下,应该存在某种创建VPN的方法,该方法能够找到节点之间的最短路径,并尝试直接连接它们。像Skype与超级节点一起工作的方式?

当服务器远离此处时,其中一个节点具有公共IP地址,其他节点可以访问该地址。它可以充当它们的服务器-即使不是服务器本身,尽管对于某些节点来说这是一个更好的选择。

我想我可以做一些事情来同时运行客户端和服务器,并将它们桥接在该节点上,但这看起来并不优雅。这有点骇人听闻,它使PKI复杂化,分割了VPN。我不喜欢

尽管我可以使用像PPTP这样的简单VPN确实不能确保通信的安全性,但我还是决定不想麻烦配置Bacula来加密节点之间的连接,这意味着流量在VPN内是普通的。VPN封装是唯一的安全性,因此它不应弱。但是,无需保密即可解决类似“网状” VPN的任何事物都将是一个好的开始-我将确保流量开始通过SSL / TLS。

看来这是别人可能已经遇到的问题,并且现在已经解决了。像这样吗

我也有可能以错误的方式看待这个问题,但到目前为止,这似乎是确保无论何时何地无论我身在何处,始终可以远程连接到我的任何设备的最佳方法。


是的,如果设备是本地设备,则可以通过局域网进行通信。这是Azure服务总线
goodguys_activate 2015年

Answers:


6

我不确定它是否完全满足您的需求,但是您可能应该看看tinc:http ://www.tinc-vpn.org/ 。它与您所描述的中央服务器精心策划的网状网络非常匹配,但是我不确定它是否能成功发现本地网络中的对等节点。


3

我发现和使用的最简单的网状VPN是PeerVPN(http://www.peervpn.net/)。

PeerVPN功能

  • 使用TAP设备的以太网隧道支持。
  • IPv6支持。
  • 全网状网络拓扑。
  • 通过防火墙和NAT自动建立隧道,而无需进行任何进一步设置(例如,端口转发)。
  • 共享密钥加密和身份验证支持。

配置很简单。您编辑一个配置文件,对于基本的网状VPN,您只需指定6个设置即可,请参见仅1页的PeerVPN教程:http ://www.peervpn.net/tutorial/

PSK加密/验证密钥最多可以为512位(64字节)。

到目前为止,我已经在多个远程服务器上设置了peervpn,并且效果很好。同样,也不需要像其他网状VPN实施中可能遇到的“超级节点”。

peervpn中的节点无需更改配置即可自动了解VPN中新添加的节点。节点到节点的流量也是直接的,而不是通过某些中央VPN集线器。

注意:阅读默认的peervpn.conf文件,以了解“可以”利用的许多其他选项。但是对于我说过的基本网状VPN,您只需要设置6个选项(VPN名称,PSK,本地隧道端点IP地址,要在Linux系统上查看/使用的接口“名称”和要用于的端口号) “ that” vpn ...请注意,您可以将peervpn用于服务器上的多个独立VPN)


0

多年前我遇到了完全相同的问题。我有约30个办公室,所有这些办公室都需要能够直接通信,但它们都是以“辐射状”的配置设置的。我用Python编写了一个工具,用于自动生成n x (n-1)/2OpenVPN在办公室之间的连接数。后来,在出现怪异的Comcast问题后,我增加了对站点之间RIP路由的支持,其中一个办公室可以看到所有其他办公室,但看不到主办公室。最后,我添加了为链接IP自动生成反向DNS的功能,以及将程序包推送到每个路由器的功能。

看一下OpenMesher。就在今天早上,我决定将其用于即将进行的项目。希望它能做您想要的。如果没有,请随时提出问题,我会帮忙。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.