解决群晖Docker版zerotier报错无限重启

最近我的群晖NAS做了一次数据迁移,导致zerotier重装不能用,一直无限重启,日志报错如下:

1 FATAL: cannot start ZeroTier One in container: /dev/net/tun not present.

折腾了半天终于解决,步骤如下:

先ssh过去,
检查tun模块状态
检查是否安装了tun模块:
lsmod | grep tun
如果结果为空,请尝试安装它:
insmod /lib/modules/tun.ko
如果一切顺利,继续进行下一个测试。
测试tun.ko模块是否有效
确保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,则表示模块已正确安装。
使tun.ko模块持久化
模块安装需要在每次Synology重启时保持持久性,就必须重复使用insmod命令。
可以创建开机脚本搞定,执行如下命令进行创建:

1 cat <<EOF > /usr/local/etc/rc.d/tun.sh
2 
3 !/bin/sh -e
4 
5 insmod /lib/modules/tun.ko
6 EOF

给脚本可执行权限:

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

重新启动 Synology NAS 或手动执行一次脚本。完成!

posted @ 2021-06-21 17:22  wukongroot  阅读(2454)  评论(0编辑  收藏  举报