Linux 搭建 ZeroTier 的 Moon 服务器

系统:centos 7.6

轻量云服务器:腾讯云 

Moon是什么,为什么需要Moon?

ZeroTier通过自己的多个根服务器帮助我们建立虚拟的局域网,让虚拟局域网内的各台设备可以打洞直连。这些根服务器的功能有些类似于通过域名查询找到服务器地址的DNS服务器,它们被称为Planet。然而这里存在一个非常严重的问题,就是Zerotier的官方行星服务器都部署在国外,从国内访问的时候延迟很大,甚至在网络高峰期的时候都没法访问,这也会导致我们的虚拟局域网变得极不稳定,经常掉链子。

为了应对网络链接的延迟和不稳定,提高虚拟局域网的速度和可靠性,Zerotier允许我们建立自己的moon卫星中转服务器。

作为Moon服务器不需要具备太强大的CPU性能/内存空间和存储空间,虚拟机、VPS、或者云服务器甚至一个树莓派都行,当然,这台服务器需要长时间可靠在线并且具有静态IP地址(ZeroTier官网上说公网IP或者内网IP都可以,只是如果用的是内网IP的话,在外网的设备就只能依靠Planet而不能使用moon了)。

Moon服务器配置过程

TIPS:

由于ZeroTier本身使用UDP协议,因此如果存在防火墙的话,需要开放UDP,否则无法连接。
本篇内容仅介绍ZeroTier-Moon服务器的配置。

下载并安装ZeroTier:
curl -s https://install.zerotier.com/ | sudo bash

效果如上图

开始配置moon

1、进入ZeroTier的默认安装目录,生成Moon配置文件
cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json
vim moon.json

        生成的配置信息如下:

{
 "id": "f9a6ed58",
 "objtype": "world",
 "roots": [
  {
   "identity": "f92ba6d58:0:1dd2a1a397f78ea3fbc8318c7bf803fd453669d5dfc8e1bb0342a53194fce05d134189e1a228ec4eff3e69be902767a091456c023dc8386c3816eb5afd9",
   "stableEndpoints": []
  }
 ],
 "signingKey": "f3525c8967690e4b5c071734188c43bf05fc975223568c634fcda1e5851d634852f76eb6b4495266277faafba403e3d1cb22b7bd8f93643438d1058841c",
 "signingKey_SECRET": "f71efe062310f696dac44ccce35e5ecb77dd36852186df917c3d26580e3f48ffca5aff392f09abc0cb2b64a92b7c6ddfa22155c82d742acad04d1a4b673b",
 "updatesMustBeSignedBy": "3525c8967690e4ee557b5c071734188c43bf05fc975223568c634fcda1e5851d634852f76eb6b4495266277faafba403e3d1cb22b7bd643438d1058841c",
 "worldType": "moon"
}

这里我们需要根据自己服务器的公网静态IP,修改stableEndpoints那一行格式如下,假设其中101.2.3.4为你的公网IP,9993是默认的端口号:

"stableEndpoints": [ "101.2.3.4/9993" ]
2、根据moon.json文件生成真正需要的签名文件.moon
sudo zerotier-idtool genmoon moon.json

输出:

wrote 0000009c960b9ac2.moon (signed world with timestamp 1280398410930)

执行该命令以后会在软件目录下生成一个类似000000xxxxxxxxx.moon的文件,妥善保存该文件,因为要使用moon服务器,必须在所有客户端上面都发送一个这个文件。

3、移动.moon签名文件到moons.d目录下并且重启服务
cd /var/lib/zerotier-one
mkdir moons.d
mv 000000*.moon moons.d
service zerotier-one restart

至此,moon服务配置完成

如何使用moon

使用命令zerotier-cli orbit

# zerotier-cli orbit
sudo zerotier-cli orbit f92ba6e58 f92baed58
200 orbit OK
# zerotier-one restart
sudo service zerotier-one restart
zerotier-one stop/waiting
zerotier-one start/running, process 18347

注意:其中的’f92baed58‘是服务器安装ZeroTier 生成的id

【如果我的分享能为你指引方向,那便是我最大的荣幸】

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zero MoonZeroTier 网络的中心控制器,它允许您创建和管理 ZeroTier 网络。下面是 ZeroTier Moon搭建步骤: 1. 安装 ZeroTier Moon 可以通过以下命令安装 ZeroTier Moon: ``` curl -s 'https://install.zerotier.com/moon.sh' | sudo bash ``` 这将自动下载并安装 ZeroTier Moon。 2. 配置 ZeroTier Moon ZeroTier Moon 的配置文件位于 /var/lib/zerotier-one/zerotier-moon.ini。可以使用文本编辑器打开并修改它。 下面是一个简单的示例配置: ``` [moon] # ZeroTier Moon Server ID (16 hex digits) id = 0123456789abcdef # API access token api-token = YOUR_API_TOKEN # IP address for Moon virtual network (CIDR notation) network = 10.147.17.0/24 # Port for Moon virtual network port = 9993 ``` 请将 YOUR_API_TOKEN 替换为一个随机字符串,以确保安全。 3. 启动 ZeroTier Moon 可以使用以下命令启动 ZeroTier Moon: ``` sudo systemctl start zerotier-moon ``` 4. 配置 ZeroTier 客户端 要连接到 ZeroTier Moon,您需要在客户端上安装 ZeroTier 并加入网络。 可以使用以下命令在 Ubuntu 上安装 ZeroTier: ``` sudo apt-get install zerotier-one ``` 安装完成后,使用以下命令加入 ZeroTier 网络: ``` sudo zerotier-cli join YOUR_NETWORK_ID ``` 请将 YOUR_NETWORK_ID 替换为您的 ZeroTier 网络 ID。 5. 确认连接 在 ZeroTier Moon 上,您应该能够看到客户端连接的信息。可以使用以下命令查看连接信息: ``` sudo zerotier-cli listnetworks ``` 如果一切正常,您应该能够看到客户端的 IP 地址。 这就是 ZeroTier Moon搭建步骤。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值