内网穿透系列——ZeroTier(能在容器中不依赖TUN/TAP使用的P2P VPN)

一.介绍

一直以来,我只知道日本某大学开发的某款软件可以在没有TUN/TAP驱动的容器中运行,而且效率还相当一般,直到我后来发现了ZeroTier,这玩意有常规的TUN/TAP模式,也有一个特殊的Network Containers 模式(目前已经改名为ZeroTier SDK——>然后又变成libzt了 ),通过实现一个轻量级的应用层 TCP/IP API 来 hook 现有应用程序的 Socket API,这样可以使现有的程序也能使用 ZeroTier 技术连接其它主机,也是挺牛逼的,不过不清楚是否有兼容性问题,个人感觉效率应该会比某软件的SecureNAT要高不少。

和其它P2P VPN不同的是这个是有个后台来管理维护你的私人网络的,而它的加入网络是通过一串唯一的ID来实现的,它还有Peer和Controller等一些概念,个人根据其在GitHub上开源的内容来看,它的Controller是个API控制端,Peers负责构建它的整个网络底层架构,这里面还有Planet和Leaf两种类型的节点,当Join命令发出时,你的客户端会接入这个网络,并在网络中注册唯一ID,然后根据你Join所选择的ID从Controller拉取网络配置。

二.安装配置

这个主要得看你安装的环境,在正常的支持TUN/TAP的环境下,一切都很简单,官方提供了一键,具体请查看官方网站——>传送门

自动识别是Debian系还是RedHat系,全自动,美滋滋。对于Mac和Windows来说,提供了安装包,手机客户端也都有,甚至还有各种NAS平台的插件包,也是非常方便

之后先在官方管理后台——>传送门   注册账号,然后创建一个Network并为其配置基本的属性,比如分配的IP地址段之类的 阅读全文→

内网穿透系列——N2N(简单的P2P组网方案)

一.介绍

前面介绍的其实内网穿透方案更大意义上是端口转发或者反向代理,而这次要提的,则是P2P组网方案,要知道P2P在打洞穿透方面优势是挺大的,而且成功打洞之后不通过第三方服务器直接连接,能够不受第三方服务器的带宽限制,而如果没有成功打洞,则可以通过第三方服务器中转,进退皆有路,一定意义上来说是最好的解决方案。

在这一类P2P VPN中比较出名的几种有N2N、Tinc、PeerVPN以及ZeroTier,本次介绍的是N2N。

N2N是开源的,其作者是Ntop作者Luca Deri,也是个牛人,可惜的是他现在已经不再维护N2N,也不知道是啥原因,不过还好开源社区有其他人加入了维护,并且已经成熟了,Bug也没啥太严重的,所以没啥问题,还是挺好用的,N2N分为SuperNode和EdgeNode,前者被称为超级节点,能够在EdgeNode之间建立握手并为无法直连的EdgeNode中转数据,是网络的核心部分。当然由于SuperNode的重要性,N2N支持为EdgeNode指定多个SuperNode,以便组成更复杂的网络,并且防止单个SuperNode出问题导致的整个网络瘫痪。

二.安装配置

N2N的安装其实挺简单的,因为没太多依赖

然后就装好了,会生成supernode和edge两个可执行程序,看看名字就知道一个是SuperNode一个是EdgeNode 阅读全文→