ZeroTier
- ZeroTier是一款利用 UDP 打洞来实现内网穿透的工具,相比其他工具成功率更高、部署更简单。其基本工作原理是组建一个虚拟局域网,各个设备(NAS、Linux、Windows、Mac、iOS、Android)安装了客户端、加入到这个虚拟局域网后,就会自动分配一个IP,从而实现局域网内各个设备及服务的相互访问。
- 除了使用官方默认的服务外,也可以自建辅助服务。
- PLANET 行星服务器,Zerotier 官方根服务器,在国外。免费版最大支持25个设备连接。自建的话,会解除一些限制。
- MOON 卫星服务器,私有根服务器,可以利用带有公网IP的云服务器自己搭建,起到代理加速的作用
MOON 卫星服务器
- 搭建MOON 卫星服务器,本次仅是一种尝试。目前zerotier的有线网络连接P2P打洞还是非常顺利的,但是4G网络下,简直一言难尽。通过服务器中转都是极其缓慢,放颗卫星上去也是好了一点,最起码能通了,具体测试我放到了最后面,河南移动和河南电信,基本上大同小异,河南电信稍微好那么一丢丢。
- 关于docker搭建zerotier的教程,参考我下面的这个文章,下面部分操作内容有引用。树莓派通过Docker安装Zerotier实现内网穿透
- 官方提供了一键安装命令,其实是部署linux客户端的,搭建步骤及其傻瓜化。
- 首次安装的话,只要执行以下命令一键安装即可。安装完成,会自动在/var/lib/zerotier-one/下生成相关文件及目录
curl -s https://install.zerotier.com | sudo bash
加入现有的网络,关于16位ID,可以参考上方文章注册。
zerotier-cli join af7xxxxxxxxxxx33d # 添加创建网络生成的16位ID zerotier-cli status # 查看网络状态
客户端查看本地服务器网络情况(如下类似)
- listnetworks
listnetworks af7xxxxxxxxxxx33d angry_gray 99:88:88:77:28:88 OK PRIVATE zthnhkljyl 10.147.20.299/24
配置moon中转服务器
生成认证配置文件
cd /var/lib/zerotier-one/ zerotier-idtool initmoon identity.public > moon.json
- 执行上述命令后会生成一个moon.json的配置文件
- 编辑moon.json,添加云服务器的公网ip
nano moon.json
- 找到
"stableEndpoints": []
填加以下信息,并放行9993端口
,如图所示。 "stableEndpoints": ["云服务器IP/9993"]
生成签名文件
zerotier-idtool genmoon moon.json
执行通过后会给出下面的提示,并生成一个000000beab485e08.moon结尾的文件
将moon节点加入网络
在/var/lib/zerotier-one/目录下新建一个moons.d的目录,并将生成的.moon结尾的文件移动到此目录下。
mkdir moons.d
mv 000000beab485e08.moon moons.d/
重启中转服务器的zerotier-one
systemctl restart zerotier-one
Docker镜像加入moon
- 以我为例在之前创建Docker镜像文章中,Zerotier配置目录是
/home/zerotier
,在Zerotier目录下创建moons.d
文件夹,并将000000beab485e08.moon
文件复制到里面。 - 重启docker镜像
查询是否加入moon
docker exec -it zerotier-one zerotier-cli listpeers
- 安卓客户端
- 通过下方链接下载第三方可以添加moon的客户端。如果你下载不了,可以留言给我。
github下载 - 下方是相关测试,使用中国移动4G,中国电信4G,联通有线宽带。
结语
- 就像我上方所说,结果不是很好,仅仅只是从ping不通,到能ping通,连接速度感人,下一步单独部署的行星服务器,得考虑尝试了。要说的是目前前面所写的问题也仅仅是在国内4G5G的网络下产生的,有线网络其实并没有这种困扰,最起码我没遇到。小宋一直也在探索更好的方案,之前有博友再聊直接使用ddos-go加IPV6的方案,或者frp等方案。个人觉得是有点安全隐患的,当然优势也是很明显的。目前处于zerotier和Tailscale的双重挂载,访问还是没有什么问题的,就是比较担心后期Tailscale也会被运营商干扰。
- 目前Fast OS Docker的作者开发的飞鼠,貌似看展示,效果还是不错的,功能也是能够满足,但是老哥开发主要是跟企业客户对接的,后续有机会找老哥测试一下。还有一些,几乎和frp及其相似的,但是他不是我想要的。当然有自部署的方案的,可以评论区留言讨论一下!
40 条评论
是不是只要一个节点开启moons就好了,其他加入这个网络就会使用moons了
不是的,你得把mooms加进那个节点才行。如果不想加,可以搭建行星服务器
我这里辽宁联通还行,能有2-4M/S呢;最近Lucky很火,我这已经拿到公网IP了,准备有时间研究研究
仅仅只是4G网络,其他网络飞快。
不明觉历呀。
都研究到卫星上去了⌇●﹏●⌇
为zerotier提供加速服务,国内运营商封锁太严重了。
这个厉害,佩服能写这么详细教程的大佬。
林兄才是大佬
看标题还以为类似谷歌地球~
是一个中继服务器
相当于隧道呗?
是的,单独的隧道,相当于多了一条路由。
我去试试~