群晖启动Docker版zerotie,提示Docker API失败的问题解决。

报错日志内容:Start container zt failed: {“message”:”error gathering device information while adding custom device \”/dev/net/tun\”: no such file or directory”}.

解决方法如下:

先ssh过去,使用root账户

sudo su -

检查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模块持久化,模块安装需要在每次Synology重启时保持持久性,就必须重复使用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

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

打赏作者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注