在vps上搭建Zerotier的Moon节点

Zerotier可以组建虚拟局域网,并且是P2P直连的,这个可以说是非常爽了,你可以在公司直连自己家里边的电脑,访问共享远程控制等。想要P2P访问必须先通过一个中介进行连接,官方的节点在网络高峰期不是很好使,所以最好在vps上建立一个moon节点。

1、vps安装Zerotier
curl -s https://install.zerotier.com/ | sudo bash
2、vps加入Zerotier局域网
zerotier-cli join <network id>
3、建立moon
Zerotier 定义了几个专业名词:
  • PLANET 行星服务器,Zerotier 各地的根服务器,有日本、新加坡等地
  • moon 卫星级服务器,用户自建的私有根服务器,起到中转加速的作用
  • LEAF 相当于各个枝叶,就是每台连接到该网络的机器节点。
在使用 zerotier-cli listpeers 命令时能看到这几个名词。
3.1、生成moon模板
cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public > moon.json
3.2、修改moon.json
vi 编辑 moon.json,修改 “stableEndpoints” 为 VPS 的公网的 IP,以 IPv4 为例:
"stableEndpoints": [ "8.8.8.8/9993" ]
检查 "id"是否为你vps的10为字符id,可在zerotier网页管理端查看,如果不是说明上一步配置有误。
8.8.8.8 为公网 IP,9993 为 Zerotier 默认端口。

3.3、生成签名文件
用到上一步中的 moon.json, 执行
zerotier-idtool genmoon moon.json
执行之后生成 000000xxxx.moon 文件。

3.4、将 moon 节点加入网络
在 VPS 的 Zerotier 安装目录下(/var/lib/zerotier-one)建立文件夹 moons.d,将生成的 .moon文件拷贝进去。
重启 zerotier,重启电脑。至此,VPS 上(moon 服务器)配置完成。

4、客户机连接moon节点
其他虚拟局域网中的机器想要连接到 moon 节点的话有两种方法。

第一种方法就是使用 zerotier-cli orbit 命令。
使用之前步骤中 moon.json 文件中的 id 值 (10 位的字符串)分别在客户端机器里执行:
zerotier-cli orbit <id> <id>
完成

第二种方法是需要在 /var/lib/zerotier-one 目录下新建 moons.d 文件夹和 moon 节点一样,将 000000xxxx.moon 文件放到其中,并重启 zerotier。

5、测试
zerotier-cli listpeers
如果有 moon 服务器 IP 地址的那一行后面有 moon 字样,证明 moon 节点已经被本机连接。
不同系统下的 ZeroTier 目录位置:
  • Windows: C:\ProgramData\ZeroTier\One
  • Macintosh: /Library/Application\ Support/ZeroTier/One)
  • Linux: /var/lib/zerotier-one
  • FreeBSD/OpenBSD: /var/db/zerotier-one
6、引用
使用 Zerotier 组建虚拟局域网实现内网穿透

评论

  1. 不同系统下的 ZeroTier 目录位置, 麻烦问一下MAC应该添加到哪里您清楚吗?
    我在「应用程序-找到应用,右击显示包内容,放置在Contents/moons.d目录下,好像没有起到作用。

    回复删除
    回复
    1. macos放在这个位置:
      /Library/Application\ Support/ZeroTier/One/moon.d

      删除
  2. 有个问题,我用北京 腾讯云的VPS 北京的IP搭建成功了MOON服务器,但是两局域网都是联通的带宽依然PING值在500左右,难道MOON必须搭建在国外?

    回复删除

发表评论

此博客中的热门博文

搭梯子:V2RAY配置WebSocket + TLS + Web

Oracle Cloud甲骨文免费VPS 梯子防火墙设置