群晖DSM安装Zerotier套件或是Docker版本都有几率会出现加入不了虚拟网络的情况。报错内容有:ERROR: unable to configure virtual network port: could not open TUN/TAP device: No such file or directory,字面上看问题出现是因为/dev/net/tun模块缺失,那么就需要修复补全TUN模块

首先打开群晖设置中心终端机-SSH登录-打开,使用SSH工具登录你的账号密码
因为此时是非root用户登录,所以操作前先提权

sudo -i

检查一下TUN模块状态

检查是否安装

lsmod | grep tun

如果没有,则加载模块进内核中

insmod /lib/modules/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,则表示模块已正确安装。
模块安装需要在每次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

至此,完成,enjoy!

最后修改:2023 年 06 月 24 日
如果觉得我的文章对你有用,请随意赞赏