slack公司发布了一个开源的p2p私有网络项目nebula
slack公司发布了一个开源的p2p私有网络项目nebula,地址是 https://github.com/slackhq/nebula/
简单描述一下:
很明显,nebula组建了一个互联网上的私有加密网络,在此之上,我们可以很方便的运行任何服务,包括用作家庭网络、企业网络,或者纯粹用来翻墙。
很遗憾所有的p2p都需要私有dns节点这样的角色,无论bt,btc,zeronet,tox还是别的。普通节点无法在脱离了固定公网服务的情况下互相查找。
简单描述一下:
- 项目是以go语言开发的,可运行在Linux, OSX, 和 Windows,即将支持 iOS;
- nebula通讯是加密的,节点之间以 Noise Protocol Framework 为基础进行相互认证,默认配置是使用椭圆曲线Diffie-Hellman密钥交换和AES-256-GCM加密;
- netbula以UDP协议进行通讯,默认端口是4242,用 UDP hole 穿透路由器,实现直连;
- 每个netbula集群,都需要至少一个用于查找节点地址的节点,称之为灯塔节点,相当于私有的DNS服务,此节点不需要太高的配置,但需要固定的公网IP和端口;
很明显,nebula组建了一个互联网上的私有加密网络,在此之上,我们可以很方便的运行任何服务,包括用作家庭网络、企业网络,或者纯粹用来翻墙。
很遗憾所有的p2p都需要私有dns节点这样的角色,无论bt,btc,zeronet,tox还是别的。普通节点无法在脱离了固定公网服务的情况下互相查找。
3 个评论
V2ex上有人尝试部署了nebula,但是性能似乎不是特别好。另外现有的P2P VPN都假设所有节点之间都对等且默认连通,其实不是很有道理,比方说国内的节点和国外的节点之间我想组一个P2P VPN,但是要求国内与国外节点间经过固定的一系列服务器中继流量,这个时候就不能简单使用现有的P2P VPN了。又比如说不同节点间链路质量不一样,需要自定义路由策略。
V2ex上有人尝试部署了nebula,但是性能似乎不是特别好。另外现有的P2P VPN都假设所有节点...
我看到 AES-256-GCM 就预感到性能不会好,因为这个加密虽然强悍无比,也牺牲了速度,不能并发。
这就需要取舍了,好在配置是可以调教的,估计还需要大幅度的定制折腾,才能流畅起来。
我大胆的藐视一下,就算用的是 AES-128-CFB ,共匪科技也无能为力。