目前在 LEDE X64 上搭建 zerotier moon,官方文档的意思是要在 Linux 的 /var/lib/zerotier-one 放置一个 moons.d 文件夹,里面放上 000000xxxxxxxxxx.moon 签名文件。。
文件我是生成好了,但是 Openwrt/LEDE 的这个文件夹,是临时文件夹啊。。cd /var/lib/zerotier-one 进入到的是 /tmp/lib/zerotier-one 文件夹。。。文件放进去了,然后重启 Openwrt/LEDE,然后我放的文件夹和文件理所当然的消失了(毕竟是临时文件夹嘛,是在内存里,重启自然就没了)
那就很疑惑了,那应该放哪呢?难不成只能放在 /root 里,每次开机的时候抢在 zerotier 运行前放过去?但是我不知道如何做到唉。。。
为了探索可能可以存放的位置,我打了个查找文件的命令,试图找到我想存放的位置,但是都进去看了一遍更不知道放哪里了。。。实在是不熟悉 linux,所以想请教下熟悉的朋友。谢谢!
root@OpenWrt:/# find -name *zerotier*
./etc/config/zerotier
./etc/init.d/zerotier
./etc/rc.d/S90zerotier
./tmp/lib/zerotier-one
./tmp/lib/zerotier-one/zerotier-one.port
./tmp/lib/zerotier-one/zerotier-one.pid
./tmp/lock/procd_zerotier.lock
./usr/bin/zerotier-cli
./usr/bin/zerotier-idtool
./usr/bin/zerotier-one
./usr/lib/opkg/info/zerotier.control
./usr/lib/opkg/info/zerotier.postinst
./usr/lib/opkg/info/zerotier.prerm
./usr/lib/opkg/info/zerotier.list
1
nfroot OP 百度谷歌搜了一圈,可能关键词不对,总是搜不到,也没有搜到别人用 Openwrt/LEDE 搭建的案例。。。这就很尴尬了。。。毕竟是觉得这个系统资源占用低还有不错的软件中心。。。暂时不想换别的。。。
|
2
oott123 2019-03-01 11:11:31 +08:00
当然就是放这里咯。
你想办法持久化它就行了,比如修改服务启动脚本,在启动进程之前把文件拷贝进去,或者是把这个文件夹当挂载点持久化,诸如此类的。 |
3
yzwduck 2019-03-01 11:12:13 +08:00
试试把 /etc/config/zerotier 里 option config_path 的注释去掉,然后 moons.d 放在 config_path 下?
看 /etc/init.d/zerotier 里的启动逻辑,貌似可以这么做,但上述只是个猜测,没有验证。 |
4
nfroot OP @yzwduck 这个文件没有你说的这个选项,里面就 4 行内容。。。config_path 是指 /etc/config/zerotier 吗
config zerotier 'sample_config' option enabled '1' list join '8056c2e21c7XXXXX' option secret ' |
5
yzwduck 2019-03-01 11:27:09 +08:00
不是…目测你的 zerotier 配置文件被改过了,看源代码:
https://github.com/openwrt/packages/blob/master/net/zerotier/files/etc/config/zerotier |
6
nfroot OP @yzwduck 昨天我配置的时候看到过你这个格式的文件,忘记是哪一个了。好像就是我贴的这个,记不清了。
我把我的 /etc/init.d/zerotier 贴上来了,能否麻烦你帮忙修改一下,启动 zerotier 前把 /root/moons.d 这个文件夹复制到 /var/lib/zerotier-one (我 cd 的时候会直接进到 /tmp/lib/zerotier-one ),这样应该就可以了吧。。 下面是我的 zerotier 文件,谢谢!(我会 vb 和 php,但是对 linux 系实在是不熟,拜托啦!) http://paste.debian.net/1070770/ |
7
nfroot OP 我在 mkdir -p XXXXXXX 下面加了一行建立文件夹,和复制文件,但是文件夹建立了,文件没复制过去。。。算了下午再研究,谢谢
|
8
yzwduck 2019-03-01 12:15:44 +08:00 1
不用修改 /etc/init.d/zerotier,它自身就能满足你的需求,但强烈建议把它看一遍;
你需要照着源代码里的配置文件,修改 /etc/config/zerotier,加一行 option config_path '/etc/zerotier'; 然后把 /etc/zerotier 当作 /var/lib/zerotier 配置 moons。 但是我没法测试验证,因为 zerotier 是那台远程 openWRT 路由器唯一连通的手段。 |
9
nfroot OP @yzwduck 我还是在 init.d 里改了,在本来的 mkdir 下面一行加了一个 ln -s 文件是在那里了,不过好像还是搭建失败 9993 端口想公网可以看到开起来了。。但是连不进这个网络,复制 000000xxx.moon 去目标计算机重启电脑还是失败了。。。这玩意日志也没看到有。。。想客户端找不到,服务器这边不会找,晕了。。眼看这客户端这边提示什么 200 xxx ok 以为加入成功,重启一看就是没有。
|
10
nfroot OP 我是在两个内网服务器配置的,一起配置。。一起加入网络,然后进行 moon 配置,不知道是不是步骤错了
|
11
nfroot OP @yzwduck 找到一个内容,说是因为这个版本的缘故导致问题,没办法搭建 moon。。。哎,我还是换个系统试试吧。在 LEDE 上,这个版本是最新了,去其他系统试试别的版本了。谢谢了
|
12
ju0594 2019-03-15 00:20:53 +08:00
@yzwduck 感谢,实测可行 。
需要先复制一份 /var/lib/zerotier-one 到 /etc/zerotier 然后在配置文件加入 option config_path '/etc/zerotier' 此后 zerotier 都会从这个文件夹读取配置 包括 moon 节点 |
13
429632952 2020-03-27 00:29:30 +08:00
如果是 Lean 的 OpenWrt 固件,只需在 /etc/config/zero/中新建一个叫 moons.d 的文件夹,然后将从服务器下载回来的 moon 文件放进去,重启 zerotier 即可使用
|