ZeroTier安装:
打开ZeroTier的官方网站 (https://www.zerotier.com/),首先注册个账号,然后登陆账号。
如果你的网络比较好,可以不用自建Planet,直接新建个网络用就行~

由于我的网络环境不好,所以这里主要说的是如何自建Planet。
下载各个系统的安装包:Download (zerotier.com)
直接安装即可~
自建Planet:
条件:
- 需要一台具有公网
IP的服务器。 - 需要安装好
Docker
curl -fsSL https://get.docker.com |bash - 需要安装好
Git
#debian/ubuntu等
apt update && apt install git -y
#centos等
yum update && yum install git -y Debian10+,Ubuntu20+等内核大于5.0的系统均支持CentOS不支持,内核太低了,可能需要手动升级内核
开始:
打开终端,克隆项目:git clone https://github.com/xubiaolin/docker-zerotier-planet.git
进入项目目录:cd docker-zerotier-planet
运行 deploy.sh 脚本:./deploy.sh
下面是提示:
|
1 2 3 4 5 6 7 |
欢迎使用zerotier-planet脚本,请选择需要执行的操作: 1. 安装 2. 卸载 3. 更新 4. 查看信息 5. 退出 请输入数字: |
按照提示安装即可,安装之后会出现以下界面:

此时会在当前目录下生成planet和moons文件,把planet下载到本地备用。
打开ip:3444,登录之后,新建一个网络:

选中easy setup,分配网络IP:

然后生成网络地址:

打开端口:
别忘了打开9994,3444,3001的tcp和udp端口!!!
到这里,服务器的设置完成了,下面是各个客户端的安装使用:
macOS:
步骤如下:
- 进入
/Library/Application\ Support/ZeroTier/One/目录,并替换目录下的planet文件 - 重启 ZeroTier-One:
cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill - 加入网络
zerotier-cli join 网络id - 管理后台同意加入请求
zerotier-cli peers可以看到planet角色

Windows:
步骤如下:
- 进入
C:\ProgramData\ZeroTier\One目录,并替换目录下的planet文件 - 重启 ZeroTier-One
2.1Win+S搜索服务
2.2 找到ZeroTier One,并且重启服务 - 加入网络
3.1使用管理员身份打开PowerShell,执行如下命令,看到join ok字样就成功了
3.2zerotier-cli.bat join 网络id(就是在网页里面创建的那个网络) - 管理后台同意加入请求
zerotier-cli peers可以看到planet角色

Linux:
步骤如下:
- 安装
linux客户端软件 - 进入目录
/var/lib/zerotier-one - 替换目录下的
planet文件 - 重启
zerotier-one服务(service zerotier-one restart) - 加入网络
zerotier-cli join 网络id - 管理后台同意加入请求
zerotier-cli peers可以看到planet角色
安卓:
安装即可:kaaass/ZerotierFix: An unofficial Zerotier Android client patched from official client (github.com)
iOS:
需要越狱或者巨魔,开通巨魔的方法可以搜索本博客文章,在此不再赘述。
步骤如下:
- 安装
iOS客户端软件(需要国外Apple ID,直接商店搜索ZeroTier One) - 安装
fileza - 打开
fileza,进入目录/private/var/mobile/Containers/Data/PluginKitPlugin/156541E4-A71B-40DC-B930-5286DC4ECA6D/Library/Application Support/com.zerotier.ZeroTier-One.ZeroTierPTP - 替换目录下的
planet文件 - 重启
zerotier-one服务(关闭软件重新打开,或者重启手机) - 加入网络
zerotier-cli join 网络id - 管理后台同意加入请求
群晖:
步骤如下:
- 安装
群晖客户端软件,在Docker端:Synology | ZeroTier Documentation - 打开配置目录:
/var/lib/zerotier-one - 替换目录下的
planet文件 - 重启
zerotier-one服务(docker exec -it zerotier service zerotier-one restart) - 加入网络
docker exec -it zerotier zerotier-cli join 网络id - 管理后台同意加入请求
docker exec -it zerotier zerotier-cli peers可以看到planet角色
iStoreOS
步骤如下:
- 打开
iStore,搜索:ZeroTier,安装 - 先别启用,打开配置目录:
/etc/config/zero/ - 替换目录下的
planet文件 - 在
iStore中启用ZeroTier - 然后加入
网络id - 管理后台同意加入请求
- 用就行了
Apple TV:
目前还没找到修改文件的地方,先搞一个支持zerotier的openwrt路由器吧~以下来自SMZDM:
zerotier设置
1. 首先将R2S也加入虚拟网络,在openwrt后台管理中填入虚拟网络ID,并允许客户端NAT。

2. 设置虚拟网络路由

我的R2S分到的虚拟ip为10.81.33.114,在Routes我们再新建一个路由

我这里已经设置过了,Target应根据路由器的网段来决定,比如我的R2S局域网访问地址为192.168.2.1,则Target则应填192.168.2.0/24,Gateway则填R2S分配到的虚拟ip,这里是10.81.33.114。
openwrt设置
除了zerotier上的设置,还要对openwrt进行设置,使得流量可以通过虚拟广域网传播

我们在openwrt 网络>接口 里新增一个zerotier接口,系统会为其分配一个zt开头的物理接口,我的是zt6xtbbu66。对该接口进行设置,传输协议选择静态地址,ipv4地址填分配的虚拟ip,ipv4子网掩码是默认的225.225.225.0,在防火墙设置中创建/分配防火墙区域选择lan
接着在 网络>防火墙 里自定义防火墙规则,增加以下规则
iptables -I FORWARD -i zt6xtbbu66 -j ACCEPT
iptables -I FORWARD -o zt6xtbbu66 -j ACCEPT
iptables -t nat -I POSTROUTING -o zt6xtbbu66 -j MASQUERADE
记得将zt6xtbbu66换成你自己对应的物理接口,重启防火墙
测试
这个时候,R2S下的设备应当已经加入zerotier广域网了,以我的小猫盘为例,在局域网下它的访问地址为192.168.2.147:5000,在安卓手机上通过ZerotierOne连接zerotier广域网,并断开WiFi,在浏览器中访问192.168.2.147:5000。
马春杰杰
ios找不到对应目录
@马甲 可能是版本更新了,你可以直接全局搜索名字进行修改