1. 程式人生 > 其它 >解決群暉Docker版zerotier報錯無限重啟

解決群暉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 或手動執行一次指令碼。完成!