最近我的群暉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 或手動執行一次腳本。完成!