之前使用的是frp进行传输,但是frp是所有流量都需要走中转,两个子设备之间不能直连,所以在frp的基础上,为了优化自己访问家里nas看视频的需求,还是用zerotier自组网了。

最开始想选节点小宝,但是节点小宝不支持macos。zerotier自建planet不支持iOS,但是我一般手机外网连nas有极空间自带的ipv6直连,很方便,所以使用zerotier主要给我公司电脑(没ipv6)的环境直连我家里用的。

所以一般家里和外网都有ipv6就完全不用考虑用zerotier了。

这个教程记录一下我部署zerotier及planet的过程。

服务器

配置docker

如果想要自搭建planet服务器,也就是中转服务器,需要一个国内有公网ip的机器。当然,如果没有,通过外网握手也是可以的,速度我测试下来都能跑满带宽。

我想更快的握手和连接,所以自建了服务器,过程也不复杂。

首先服务器已安装docker和docker compose。

我在宝塔创建了一个zt.zhheo.com的静态网站,然后在网站对应的目录/www/wwwroot/zt.zhheo.com中创建了docker-compose.yaml文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
version: '3'

services:
myztplanet:
image: xubiaolin/zerotier-planet:latest
container_name: ztplanet
ports:
- 9994:9994
- 9994:9994/udp
- 3443:3443
- 3000:3000
environment:
- IP_ADDR4=[IPV4IP ADDRESS]
- IP_ADDR6=
- ZT_PORT=9994
- API_PORT=3443
- FILE_SERVER_PORT=3000
volumes:
- ./data/zerotier/dist:/app/dist
- ./data/zerotier/ztncui:/app/ztncui
- ./data/zerotier/one:/var/lib/zerotier-one
- ./data/zerotier/config:/app/config
restart: unless-stopped

你需要修改[IPV4IP ADDRESS]为你的公网ip地址。

如果你需要修改端口,不仅要修改ports,还要修改环境变量。

ssh连接后,cd进入目录,然后执行docker-compose up -d即可。

配置防火墙

容器创建好了之后,还需要打开防火墙。

以上面的docker-compose文件为例,需要打开9994(UDP/TCP)、3443、3000端口。宝塔防火墙和云服务商的防火墙都需要放行。(我就是云服务商的忘记放行UDP的导致怎么都连不上)

访问后台

进入你的公网ip加上3443端口号(或者是你修改的其他端口号)来访问后台。

账号:admin

密码:password

第一次进入可以修改密码,别忘记改了。

创建网络

点击networks,点击add network,输入名字创建网络

创建网络

设置ip地址

我们可以设置子设备的ip地址范围。点击Easy setup

ip范围

点击创建新地址,点击保存。

创建地址

下载planet文件

进入数据目录,例如我是在/www/wwwroot/zt.zhheo.com/data/zerotier/dist文件夹下有planet文件,下载下来用于配置客户端。

planet

Mac客户端

下载并安装zerotier one

客户端

然后我们进入访达,点击前往点击前往文件夹,前往到

/Library/Application Support/ZeroTier/One/

planet

删除planet文件,然后将从服务器下载下来的planet文件粘贴到这里。

打开终端app,运行

cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill

然后点击加入新网络。

加入新网络

输入网络id,就是在后台中显示的网络id

网络id

连接后需要进入这个网络,给新设备打勾。

授权设备

istoreos

在istoreos中安装zerotier。

使用istoreos的文件管理访问/etc/config/zero/文件夹,替换planet文件。

在istoreos中启动zerotier(如果已经启动,需要先停止,然后再启动)

加入网络,步骤和mac一致,都需要在服务器端授权。

zerotier

访问

连接成功后,我们就可以使用后台显示的地址进行直接访问了。

访问地址