
前言
之前安装的Docker版又失效了,不过安装的是第三方上传的版本,倒也是稳定用了一年多了。寻思着7.0正式版也上线很久了,应该会有官方的方案,就去官方查看方案,果不其然,有官方的Docker方案,然后尝试着安装一下,一遍即过,又可以畅联了。顺便分享下经验,以下主要步骤主要是官方英文原版思路,我只做翻译和部分补充。
由于 DSM 7 不允许第三方应用直接使用root权限运行,因此原来的Zerotier套件就各种报错了。使用Docker版本则能解决这个问题。 当然,使用Docker方案,首次折腾会比较麻烦,但是一旦折腾好,就一劳永逸了。
完成这个教程,你主要需要完成以下流程:
- 在NAS上启用SSH
- 创建一个持久的 TUN
- 安装Docker
- 设置Docker
创建一个持久的TUN
使用SSH 连接到你的NAS,比如使用Putty工具连接。
ssh user@local-ip
切换为root身份
sudo -i
使用vi工具编写脚本到路径: /usr/local/etc/rc.d/tun.sh
这将使得 /dev/net/tun
在启动时调用
给这段脚本添加权限(其实应该先vi这个空的脚本,然后添加权限,最后在写入上面的脚本内容,不然会提示你readonly)
chmod a+x /usr/local/etc/rc.d/tun.sh
运行这个脚本
/usr/local/etc/rc.d/tun.sh
检查TUN的运行状态
ls /dev/net/tun
/dev/net/tun
安装Docker到你的NAS上
直接到套件中心去安装。
创建一个Zerotier目录
mkdir
/volume1/docker/zerotier-one
创建一个容器,这里将它命名为zerotier-zerotier-synology1
(方便后续使用),这里会自动下载最新版的zerotier
docker run -d \
--name zerotier-zerotier-synology1 \
--restart=always \
--device=/dev/net/tun \
--net=host \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN \
-v /volume1/docker/zerotier-one:/var/lib/zerotier-one zerotier/zerotier-synology:latest
使用与配置
查看状态
docker exec -it zerotier-zerotier-synology1 zerotier-cli status
添加网络
docker exec -it
zerotier-zerotier-synology1 zerotier-cli join 83048a06323e4877
在zerotier后台授权当前设备,然后查看状态:
docker exec -it zerotier-zerotier-synology1 zerotier-cli listnetworks
查看运行中的容器:
docker ps
进入容器终端
docker exec -it zerotier-zerotier-synology1 bash
升级
升级zerotier需要先停止容器并且移除容器,然后再拉去最新的容器:
docker ps
列举显示信息:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
83977f57296c zerotier/zerotier-synology:latest "/entrypoint.sh" 47 minutes ago Up 3 minutes zerotier-zerot
停止容器(注意id)
docker stop 83977f57296c
移除容器(使用rm)
docker container rm 83977f57296c
拉取最新的容器
docker pull zerotier/zerotier-synology:latest
然后再回到创建的步骤。
判断组网是否成功
组网成功之后,在pc端浏览器用**.quickconnect.to域名访问nas,会发现quickconnect会自动解析出虚拟组网分配的IP。
这时候无论是用synology driver client,还是ds file ,ds phtoto,ds video同步文件还是电影,速度都提高了一个层级。
对比我本人实测的数据,使用zerotier之前,synology 同步文件速度约30K/s,使用zerotier之后,synology速度稳定在2M/s左右。
常见问题
ZeroTier官网不显示客户端ID的问题
出现这个问题多数情况是由于删除了客户端ID,当你的客户端再加入进,官方网站可能就不显示了,这就比较麻烦。
解决方法如下,需要手动添加


在OpenWrt里显示ZeroTier客户端ID的方法
不管你用任何方法都可以,登录路由器控制台,输入 命令
zerotier-cli info

被抹去的部分就是客户端ID
引用与文献
本文基于官方原文进行翻译和补充
Synology NAS | ZeroTier Documentation