529 字
3 分钟
使用 Frp 搭建 Zeroiter Moon
简介
Zerotier 是一个专用于异地组网的工具,它方便将多台异地机器以 P2P 或者 中转 Relay 的方式实现宛如局域网般的流畅体验。
Zerotier 组网中节点分为三个部分,分别是位于国外的中央服务器 Planet,用户自建节点 Moon,以及用户其他节点 Leaf。
由于 Planet 位于国外,当两台机器地理位置相隔甚远时,无论是 UDP 打洞还是 Relay 中继,速度都非常慢,因此尝试自建一台国内 Zerotier Moon 来提高打洞概率 + 中继速度。
网上搭建 Zerotier Moon 的教程都需要购买一台服务器,但我不想这么折腾,因此使用 Frp 内网穿透的搭建方式。
Frp 穿透
使用 Frp 内网穿透 9993 端口

- 本地 IP一定要指定为局域网 IP(即 192.168.0.0/16 等),而非回环 IP(即 127.0.0.1),否则不会被 Zerotier 服务监听。
- 端口类型选择
UDP - 内网端口填写
9993(需修改过 moon 端口号则按实际填写) - 外网端口可随机,此处仅作为演示
- 节点建议选择距离相近的多线机房(在任何运营商网络下都能有比较高的 p2p 打洞成功概率)
搭建 Zerotier Moon
-
创建基础
moon.json文件Terminal window # 切换工作目录(以实际目录为准)cd /var/lib/zerotier-one# 创建基础 moon 文件zerotier-idtool initmoon identity.public > moon.json -
修改
moon.json信息将
moon.json中的stableEndpoints字段填写 Frpc 分配的公网 IP 和端口"stableEndpoints": ["xxx.xxx.xxx.xxx/port"]提示:IP 地址与端口号通过
/分隔,而不是: -
生成 moon 签名
Terminal window # 切换工作目录(以实际目录为准)cd /var/lib/zerotier-one# 将 moon.json 文件签名,生成 moon 文件zerotier-idtool genmoon moon.json# 将签名后的 moon 文件移动至 moons.d 文件夹mkdir moons.dmv *.moon moons.d -
重启 Zerotier 服务
Terminal window sudo service zerotier-one restart
加入 Zerotier Moon
- 查看
moon.json中的ID字段:"id": "9d2cxxxxxx"(此处仅作演示,以实际数据为准) - 执行命令:
zerotier-cli orbit 9d2cxxxxxx 9d2cxxxxxx
验证
通过执行zerotier-cli peers可查看当前加入的 moon 服务器已正常工作。

使用 Frp 搭建 Zeroiter Moon
https://blog.firpe.cn/posts/使用frp搭建zeroiter-moon/