已经解决了,用docker解决的,方法如下:
1、去群晖套件中心下载安装Docker; 2、安装完成后打开Docker,看最左边一排,点“注册表” 3、然后在右上角搜索栏搜索“zerotier-one”按回车,然后找到“henrist/zerotier-one”,双击下载; 4、等下载完成后,在Docker最左边一排,点“映像”,右边就看到刚才已经下载好的“henrist/zerotier-one”,然后双击打开; 5、打开后,勾选“使用最高权限执行容器”,然后再点下边“高级设置”,打开后,勾选“启动自动重新启动”; 6、然后点最上面一排“存储空间”,点“添加文件夹”,弹出的窗口中,选“docker”文件夹就行; 7、然后“装在路径”上添上:/var/lib/zerotier-one; 8、然后再点最上一排“网络”,勾选“使用与Docker Host相同的网路”,然后点最下边“应用”后退出。 9、然后再在Docker最左边一排点“容器”,双击右边“henrist-zerotier-one1”,弹出窗口,点“终端机”——新增——通过命令启动,弹出的窗口填入“ash”,然后回车; 10、然后点左边“ash”,右边是命令窗口,在命令窗口中输入:zerotier-cli join 你的网络ID,然后回车,如果看到“200 jion OK”,就说明已经加入zerotier网络,然后进去zerotier官网账户,勾选授权即可。 |
如果安装提示出现意外终止,不停重启,并且日志中出现:
FATAL: cannot start ZeroTier One in container: /dev/net/tun not present. 可能是tun模块出现问题 因此需要安装下: 1、检查:lsmod | grep tun, 如果结果为空,请尝试安装它: insmod /lib/modules/tun.ko 2、测试tun.ko模块是否有效: 依次输入以下命令: 1)mkdir /dev/net 2)mknod /dev/net/tun c 10 200 3) chmod 600 /dev/net/tun 4) cat /dev/net/tun 如果cat命令的返回结果是File descriptor in bad state,则表示模块已正确安装。 3、使tun.ko模块持久化 依次输入以下命令: 1)cat <<EOF > /usr/local/etc/rc.d/tun.sh 2)insmod /lib/modules/tun.ko 3)EOF 4、给脚本可执行权限 chmod a+x /usr/local/etc/rc.d/tun.sh 重新启动 Synology NAS 或手动执行一次脚本。 |
此外,docker文件夹授予读写权限
打开file station,点docker文件夹右键属性 添加everyone读写权限 勾选“应用到子文件及子文件夹” |
发现一个直接针对群辉并且更新更快的。
在注册表里搜索“zerotie”之后,找到“zerotier/zerotier-synology”镜像,下载,安装,前面的步骤与“henrist-zerotier-one”镜像一样,区别主要在最后加入网络: 1、在Docker最左边一排点“容器”,双击右边“zerotier/zerotier-synology”,弹出窗口,点“终端机”——新增——通过命令启动,弹出的窗口填入“sh”,然后回车; 2、然后点左边“sh”,右边是命令窗口,在命令窗口中输入:zerotier-cli join 你的网络ID 然后回车,如果看到“200 jion OK”,就说明已经加入zerotier网络,然后进去zerotier官网账户,勾选授权即可。 |
# cat <<EOF > /usr/local/etc/rc.d/tun.sh
> > insmod /lib/modules/tun.ko > EOF sh: can't create /usr/local/etc/rc.d/tun.sh: nonexistent directory 这个步骤不太理解。怎么会出现这个错误 |
本帖最后由 foxset 于 2023-2-18 18:52 编辑
群晖最新的docker版本做了些改动: 5、双击“映像”里下载的文件后,弹出“网络”选项卡——勾选“使用与Docker Host相同的网路”,然后下一步 6、打开后,弹出“常规设置”选项卡,勾选“使用最高权限执行容器”,勾选“启动自动重新启动”,然后下一步 6、在弹出的“存储空间设置”选项卡后,选择“添加文件夹”(想要存储docker数据的) 7、装载路径填写:/var/lib/zerotier-one,然后下一步,最后完成 装载路径不填会报错,无法运行 剩下的步骤与原先一致,按照原先操作即可 |
本帖最后由 foxset 于 2023-1-11 16:30 编辑
发现一个免费的网络定时执行脚本的服务器,就是GitHub actions,真香啊! 具体步骤为: 1、注册GitHub账号,比如abc,这样就会生成一个页面:https://github.com/abc 2、创建repositories,比如ddns,这样就会出现一个页面:https://github.com/abc/ddns 3、点击Actions,然后New workflows,系统会在https://github.com/abc/ddns下自动创建“.github/workflows”目录并在“.github/workflows”目录下生成“main.yml”文件(GitHub actions在“.github/workflows”下检测到“*.yml”文件会自动运行的,“main”名称是可以改的); 4、添加“*.yml”代码,如果仅仅执行shell文件,代码如下: name: AUTO on: schedule: - cron: "* * * * *" jobs: ddns: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - run: bash ddns.sh 代码说明: 1、AUTO——可以改成自己的; 2、cron: "* * * * * *"——定时器,分别代表“分 时 天 月 周 年”,“时”——记得要减8,因为我们用的是东8区,与服务器的美国时间有时间差,中间用空格隔开(见下图),具体可百度; * * * * * * | | | | | | | | | | | +---年 [optional],一般不用 | | | | +--------星期 (0 - 7) (星期天=0 或 7) | | | +------------月 (1 - 12) | | +----------------天 (1 - 31) | +--------------------时 (0 - 23) +------------------------分(0 - 59) 3、ddns——可以改成自己的; 4、ddns.sh——就是写好的域名解析脚本脚本(jobs下行的ddns名称可以改),然后上传到https://github.com/abc/ddns文件夹下,当然也可以在https://github.com/abc/ddns文件夹下新建文件夹,如shell(网页为:https://github.com/abc/ddns/shell),然后把aliddns.sh文件放进shell文件夹里,这样run的代码为: - run: bash shell/ddns.sh |