找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2559|回复: 27

求zerotier插件(自建的planet和moon服务器)

[复制链接]
本帖最后由 wwwuty 于 2023-9-16 11:03 编辑

在docker里用ztncui自建了planet和moon服务器,但现在的openwrt都是针对官方的服务器连接做的插件,自己的就连不上,求大神指引。



附在隔壁网发的贴子:



一直研究zerotier的私有planet和moon节点的建立,感谢jqtmviyu和xubiaolin大神
踩坑无数. 经过研究, 服务端需要进行如下设置:
1.compose需要增加ports: '9993:9993'和'9993:9993/udp', 服务器和防火墙也得放行
2.进入容器, 生成moon.json
3.拷贝moon.json到宿主机, 修改stableEndpoints
4.在宿主机用mkmoonworld-x86生成行星文件
5.把修改后的moon.json拷回容器, 在容器内生成moon文件, 创建moons.d文件夹, 放进去. 拷贝一份到宿主机备用
6.把行星文件替换回容器
7.重启容器
8.把客户端的planet文件替换
9.安卓端的话, 实测单独加载planet不生效. 加载moon文件, 关闭官方行星节点, 生效

具体参考 https://github.com/xubiaolin/docker-zerotier-planet 里面的代码实现和各种生成moon教程

######## 仅供参考 #########

1.下载

git clone https://github.com/Jonnyan404/zerotier-planet
cd zerotier-planet
vim docker-compose.yml

2.修改

### 参考
### date:2021年11月29日
### author: www.mrdoc.fun | jonnyan404
### 转载请保留来源
version: '2.0'
services:
    ztncui:
        container_name: ztncui
        restart: always
        environment:
            # - MYADDR=公网地址(不设置该项自动获取)
            - MYADDR=127.0.0.1  # 改成自己的服务器公网ip
            - HTTP_PORT=3443
            - HTTP_ALL_INTERFACES=yes
            - ZTNCUI_PASSWD=root
        ports:
            - '3443:3443'  # 设置网页的端口
            - '9993:9993'  # 作为中心节点,提供9993端口给客户端用,一般是9993
            - '9993:9993/udp'
        volumes:
            - './zerotier-one:/var/lib/zerotier-one'
            - './ztncui/etc:/opt/key-networks/ztncui/etc'
            # 按实际路径挂载卷, 冒号前面是宿主机的, 支持相对路径
        image: keynetworks/ztncui

3.运行

docker-compose up -d

docker images # 查看镜像
docker container ps -a # 查看容器

docker exec -it ztncui bash # 进入容器
# 在容器内操作
cd /var/lib/zerotier-one
ls -l
# 生成moon配置文件
zerotier-idtool initmoon identity.public > moon.json
chmod 777 moon.json

4.新建一个terminal, 在容器外修改moon.json, 位置对应挂载位置
修改stableEndpoints, 注意格式和实际公网ip

{
"id": "b72b5e9e1a",
"objtype": "world",
"roots": [
  {
   "identity": "b72b5e9e1a:0:a892e51d2ef94ef941e4c499af01fbc2903f7ad2fd53e9370f9ac6260c2f5d2484fd90756bec0c410675a81b7cf61d2bb885783bd6a8c28bce83bcab5f03fe14",
   "stableEndpoints": ["127.0.0.1/9993"]
  }
],
"signingKey": "45f0613e569a0549c74293c39b30495b594a003534290e8ade9ef82877aa7505d7a73eeabfc22c97c404e4caaf9f3c9eed2b134d696935c966e28f523364f15f",
"signingKey_SECRET": "cc6afd67e7b7f84a92e2c8d3c2e7212c71e2ad0a4f5b3c03bf60ab1cd3b99281b57d9a2958d2bd8fc2bc77fdf2a1160099c2c61d3d9acc8cb311673ee120b4a6",
"updatesMustBeSignedBy": "45f0613e569a0549c74293c39b30495b594a003534290e8ade9ef82877aa7505d7a73eeabfc22c97c404e4caaf9f3c9eed2b134d696935c966e28f523364f15f",
"worldType": "moon"
}

5.在容器内生成moon文件

zerotier-idtool genmoon moon.json
mkdir moons.d
cp *.moon moons.d/

6.在容器外生成planet文件

拷贝一份moon文件, 客户端可以用到
下载mkmoonworld, 拷贝moon.json, 放在一个目录下
./mkmoonworld-x86_64 ./moon.json
mv world.bin planet
# 复制到容器内
docker cp ./planet ztncui:/var/lib/zerotier-one

7.重启容器

docker restart ztncui
docker exec -it ztncui bash # 进入容器
# 在容器内操作
cd /var/lib/zerotier-one
# 查看moon
zerotier-cli listmoons


8.访问ip+端口对应的设置页面

9.替换客户端的planet文件并重启服务, 再加入网络, 在网页端授




linux或者NAS加入zerotier网络
在线安装zerotier
curl -s https://install.zerotier.com | sudo bash

查看安装zerotier版本
sudo zerotier-cli status

加入一个netWork
sudo zerotier-cli join ################(networkid)

查看加入的网络的信息,比如network
sudo zerotier-cli listnetworks

退出加入的network网段
sudo zerotier-cli leave ################(networkid)

启动、停止服务(mac下,linux尝试发现没有launchctl command)
#Stop and start the service with launchctl

群晖NAS需要root密码修改,方法如下:
1、SSH连接进NAS终端
2、sudo -i   提权
3、复制下面一段代码:
chmod 755 /etc/ssh/sshd_config && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config && synouser --setpw root xxxxxx(你自己修改的密码)

用winscp连接进NAS,记得一定要用root登录

1、在/var/lib/zerotier-one文件夹里建立moons.d文件夹,复制moon.json到moons.d文件夹里
2、在/var/lib/zerotier-one文件夹里找到planet文件,重命名planetbak
3、复制planet文件到/var/lib/zerotier-one文件夹里,并重启zerotier服务(或者直接重启电脑)
4、加入新的网络ID,授权OK
 楼主| | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

自建的planet  openwrt可以连接没啥问题,没有25台客户端的限制

现在的问题只是移动端的两个版本都连不上
回复

使用道具 举报

 楼主| | 显示全部楼层
Hansxia 发表于 2023-9-16 11:16
自建的planet  openwrt可以连接没啥问题,没有25台客户端的限制

现在的问题只是移动端的两个版本都连不上

安卓的移动端可以连接,苹果的就不行,openwrt如何连接还真没成功过,请指教,谢谢了!
回复

使用道具 举报

星球服务器
回复

使用道具 举报

有planet了,安卓用zerotier fix就OK了,支持上传planet
回复

使用道具 举报

 楼主| | 显示全部楼层
lz009 发表于 2023-9-16 15:03
有planet了,安卓用zerotier fix就OK了,支持上传planet

看来兄弟用过了。。。
回复

使用道具 举报

我是在腾讯云上建的根服务器,正在用,很好用!
回复

使用道具 举报

 楼主| | 显示全部楼层
lz009 发表于 2023-9-16 15:45
我是在腾讯云上建的根服务器,正在用,很好用!

我自己也建好了的,就是不知道openwrt的zerotier插件怎么编译才能连接上
回复

使用道具 举报

openwrt直接替换planent就可以用呀
回复

使用道具 举报

自建的挺好,就是IOS没能用的自建客户端,放弃了自建
回复

使用道具 举报

 楼主| | 显示全部楼层
lz009 发表于 2023-9-18 08:44
openwrt直接替换planent就可以用呀

主要是不知道openwrt里的zerotier文件夹里planet文件在哪个位置,还有需要建立moon.d,把moon.json放进去,求具体指导,不甚感谢!!!
回复

使用道具 举报

openwrt在未启动zerotier时候是找不到目录位置的,你先把它运行一下,随便搞个根服务运行一下,然后在/etc/config/zero下就找到替换文件了,把你的id再配置进去就可以了。
回复

使用道具 举报

本帖最后由 99010 于 2023-9-19 21:11 编辑

具体参考https://www.right.com.cn/forum/thread-4042849-1-1.html

如果使用自建ztncui服务器,初始化Zerotier的命令略有差异

  1. mkdir -p /etc/zerotier
  2. uci set zerotier.openwrt_network=zerotier
  3. uci add_list zerotier.openwrt_network.join='你的ztncui服务器生成的网络ID'
  4. uci set zerotier.openwrt_network.enabled='1'
  5. uci set zerotier.openwrt_network.config_path='/etc/zerotier'
  6. uci commit zerotier
复制代码



--------------------------------------------------

在openwrt里面新建/etc/zerotier/moons.d文件夹,把生成的0000000xxxx.moon文件传进去。
或者
直接使用命令添加

  1. zerotier-cli orbit Moon节点ID Moon节点ID
复制代码
这两个添加moon服务器的方法在moon的使用上无区别,看个人喜好。

回复

使用道具 举报

 楼主| | 显示全部楼层
lz009 发表于 2023-9-19 20:37
openwrt在未启动zerotier时候是找不到目录位置的,你先把它运行一下,随便搞个根服务运行一下,然后在/etc/ ...

感谢指点,周末就去认真折腾去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-21 19:28

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表