Synology 的 DSM 7 不允许第三方应用程序以 root 身份运行。因此,我们现在推荐使用 Docker 来运行 ZeroTier。

它是在您的 NAS 上运行第三方应用程序的更安全的方式。

设置后,此配置将在重新启动和 DSM 升级后保持不变。

创建一个持久的
以管理员方式运行

sudo -i

 

检查tun模块状态
检查是否安装了 tun 模块:

lsmod | grep tun

 

如果结果为空,请尝试安装它:

insmod /lib/modules/tun.ko

 

如果一切顺利,继续进行下一个测试。

测试tun.ko模块是否有效
确保 tun.ko 模块可以正常工作:

mkdir /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
cat /dev/net/tun

 

如果 cat 命令的返回结果是 File descriptor in bad state,则表示模块已正确安装。

使tun.ko模块持久化
模块安装需要在每次 Syn­ol­ogy 重启时保持持久性,就必须重复使用 insmod 命令。

可以创建开机脚本搞定,执行如下命令进行创建:

cat <<EOF > /usr/local/etc/rc.d/tun.sh
#!/bin/sh -e

insmod /lib/modules/tun.ko
EOF

 

给脚本可执行权限:

chmod a+x /usr/local/etc/rc.d/tun.sh

 

重新启动 Syn­ol­ogy NAS 或手动执行一次脚本。完成!

运行一次脚本以创建一个 TUN

/usr/local/etc/rc.d/tun.sh

 

运行ZeroTier Docker
创建目录来存储 ZeroTier 的身份和配置(容器目录挂载到宿主机)

mkdir /var/lib/zerotier-one

 

拉取ZeroTier Docker容器并运行(容器名zt):

docker run -d           \
  --name zt             \
  --restart=always      \
  --device=/dev/net/tun \
  --net=host            \
  --cap-add=NET_ADMIN   \
  --cap-add=SYS_ADMIN   \
  -v /var/lib/zerotier-one:/var/lib/zerotier-one zerotier/zerotier-synology:latest

 

Docker Hub:https://hub.docker.com/r/zyclonite/zerotier

常用命令
查看节点状态

docker exec -it zt zerotier-cli status

 

加入您的网络

docker exec -it zt zerotier-cli join e5cd7a9e1cae134f

 

在官网网络设备表中授权NAS 。然后查看网络状态:

docker exec -it zt zerotier-cli listnetworks

 

显示正在运行的容器(可选)

docker ps

 

进入容器(可选)

docker exec -it zt bash

 

升级 ZeroTier
要升级 ZeroTier,您需要停止并删除容器,然后拉取最新的并启动一个新容器:

docker ps

 

示例输出:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52c7cb58a1dd zerotier/zerotier-synology:latest "zerotier-one" 5 weeks ago Up 9 days zt

 

停止容器

docker stop 52c7cb58a1dd

 

删除容器

docker container rm 52c7cb58a1dd

 

拉取最新镜像

docker pull zerotier/zerotier-synology:latest

 

运行容器

docker run -d           \
  --name zt             \
  --restart=always      \
  --device=/dev/net/tun \
  --net=host            \
  --cap-add=NET_ADMIN   \
  --cap-add=SYS_ADMIN   \
  -v /var/lib/zerotier-one:/var/lib/zerotier-one zerotier/zerotier-synology:latest

 

添加Moons(可选)
自己搭建Moons:Linux搭建ZeroTier的Moon服务器

Moons官方文档:https://docs.zerotier.com/zerotier/moons

直接使用命令zerotier-cli orbit

docker exec zt zerotier-cli orbit 9c960b9ac2 9c960b9ac2

 

是否成功?

查看 zerotier-cli listpeers

docker exec zerotier-one zerotier-cli listpeers

 

如果输出中出现一条最后为MOON的记录,说明已经成功连接Moon服务器

zerotier-cli listpeers
200 listpeers
200 listpeers id myip/9993;6012;1706 -1 1.8.4 MOON
200 listpeers 62f865ae71 50.7.252.138/9993;6012;1070 -294 - PLANET

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。