avatar
@bangbang93

用ZeroTier重构p2p vpn

3/17/2017, 11:45:23 PM

前篇

安装

下载地址

全平台,支持windows\linux\osx

windows和osx都有图形界面,瞎几把点也能会用,这里说一下linux下的用法

以centos为例,执行官方安装脚本其实是添加了一个rpm源并且调用yum下载,也可以手工下载rpm安装
https://download.zerotier.com/ https://download.zerotier.com/zerotier-one-x64.rpm https://download.zerotier.com/zerotier-one-x86.rpm

官方github

下载完成后rpm -ivh zerotier-one-x64.rpm

总共有zerotier-cli zerotier-idtool zerotier-one三个命令,zerotier-one是守护进程,centos7下用systemctl start zerotier-one,centos6下用service zerotier-one start即可开启服务

开启服务后,用zerotier-cli join <NetworkID>加入创建好的网络,然后网页上就会显示出这个客户端的id,通过审核就可以完成网络加入

另外,推荐在防火墙上开启9993/udp端口,当9993端口可用时,可以避免udp打洞的动作,加快节点之间的连接速度

管理

写完上一篇之后去尝试了一下ZeroTier,发现它可以几乎0配置

首先去https://my.zerotier.com/注册一个账号,免费用户的限制是私有网络最多只能有100个设备连接……这限制几乎等于没限制,而且不能桥接网络,这个限制对我来说影响也不大,需要这个需求的话可以自行iptables转发

注册好之后右上角切换如Network页面,创建一个network

创建完成后会自动分配一个Network ID,默认是私有网络,私有网络和公共网络的区别是加入时是否需要审核,公共网络只要知道network id就可以加入,右边可以添加管理的网络端,手工输入一个或者让他auto-assign from range都可以

中间的flow rules保持默认即可,默认情况下的表现和一个普通的交换机是一样的,下方有说明,有兴趣可以自己DIY一下高级功能

私有网络每台设备第一次加入,都需要到网页上来把设备左边的勾选中,表示通过验证,也可以在网页上给设备手工分配ip地址,确保ip不会发生变化