喵♂呜 的博客

一个刚毕业就当爹的程序猿 正在迷雾中寻找道路...

Zerotier 自建 Moon 中转服务器

默认情况下 Zerotier 会通过 UDP 打洞连通各个节点
但是如果 多层 NAT 或者防火墙拦截的情况下
数据会走 Zerotier 的 Moon 服务器转发
但是官方的服务器在国外 速度比较慢
所以需要自建 Moon 节点

安装 Zerotier

1
2
3
4
# 脚本一键安装
curl -s https://install.zerotier.com | sudo bash
# 配置开机自启
systemctl enable zerotier-one

生成 Moon.json 模板

1
2
cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public > moon.json

修改 stableEndpoints

1
2
vi moon.json
# "stableEndpoints": ["121.5.159.4/9993"] 此处填写你 VPS 的 IP 地址

生成 moon 文件

1
2
3
4
5
mkdir -p moons.d
cd moons.d
zerotier-idtool genmoon ../moon.json
# 重启一下服务
systemctl restart zerotier-one

客户端加入此 MOON

  • 方式一 复制 .moon 文件
  • 在客户端目录下 新建 moons.d 文件夹 放入生成的 .moon 文件
    • Windows: C:\ProgramData\ZeroTier\One
    • Macintosh: /Library/Application\ Support/ZeroTier/One
    • Linux: /var/lib/zerotier-one
    • FreeBSD/OpenBSD: /var/db/zerotier-one
  • 方式二 直接用命令 参数就是生成的文件名称
    • Windows:
      1
      2
      cd C:\ProgramData\ZeroTier\One
      zerotier-one_x64.exe -q orbit 00000039b4f***** 00000039b4f*****
    • 其他系统:
      1
      zerotier-cli orbit 00000039b4f***** 00000039b4f*****
  • 任意一种方式加完后 记得重启
    • Windows: sc stop ZeroTierOneService && sc start ZeroTierOneService
    • Linux: systemctl restart zerotier-one

参考文章

欢迎关注我的其它发布渠道