Linux 搭建 ZeroTier 的 Moon 服务器

news2024/11/16 7:25:25

系统: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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1788845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年数字化经济与金融创新国际学术会议(ICDEFI 2024)

2024年数字化经济与金融创新国际学术会议(ICDEFI 2024) 会议简介 2024年数字经济与金融创新国际学术会议即将召开。此次会议旨在汇集全球数字经济与金融创新领域的专家学者,共同探讨数字经济的发展趋势以及金融创新的路径。与会者将分享前沿…

Linux下查看进程和端口信息

1, 根据进程名(这里是模糊查询)查看进程信息,以查看nginx进程名为例,查看所对应的进程id为19013(或者使用: ps -aux | grep nginx查看占用内存等信息) ps -ef | grep nginx 2, 根据进程id查看进程占用端口,查看对应端口为8080&…

springboot+mqtt使用总结

1.软件的选型 1.1.使用免费版EMQX 1.1.1.下载 百度搜索的目前是会打开官网,这里提供下免费版的使用链接EMQX使用手册 文档很详细,这里不再记录了。 1.2.使用rabbitmq rabbitmq一般做消息队列用,作为mqtt用我没有找到详细资料&#xff0c…

VB.net实战(VSTO):Excel插件的安装与卸载

1. 安装 1.1编程环境:Visual Studio 2022 1.2创建新项目: 1.3 加入一行测试程序:MsgBox(“hello”),点击启动,确认可以弹窗 1.4 点击发布 1.5 找到安装程序,点击安装。打开Excel程…

win10环境下nodejs安装过程

打开 https://nodejs.org/en/官网下载node.js 2.下载完成后的安装文件为node-v16.16.0-x64.msi,双击进行安装即可。 3.一直默认安装,记得可以更改安装路径 4.其他不用打勾,一直next,安装完成即可。 5.安装完成后,wi…

软件测试需求管理指南规范(Word原件,项目管理全资料)

3 测试需求 3.1 测试范围 3.2 测试目标 4 测试需求的现状 5 测试需求的内容 5.1 主体内容 5.2 管理内容 6 测试需求的制定 6.1 需求信息来源 6.2 需求分析 6.2.1 功能性需求 6.2.2 系统功能需求 6.2.3 界面需求 6.2.4 安装需求 6.2.5 业务需求 6.2.6 非功能性需求 6.2.7 性能需…

告别复制粘贴:AI论文写作工具的高效应用

写作这件事一直让我们从小学时期就开始头痛,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,这玩意不…

企业应用架构模式--详解51种企业应用架构模式

导读:企业应用包括哪些?它们又分别有哪些架构模式? 世界著名软件开发大师Martin Fowler给你答案 目录 01什么是企业应用02 企业应用的种类03企业架构模式 01什么是企业应用 我的职业生涯专注于企业应用,因此,这里所谈…

【Python系列】Python装饰器

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Spring AI 第二讲 之 Chat Model API 第二节Ollama Chat

通过 Ollama,您可以在本地运行各种大型语言模型 (LLM),并从中生成文本。Spring AI 通过 OllamaChatModel 支持 Ollama 文本生成。 先决条件 首先需要在本地计算机上运行 Ollama。请参阅官方 Ollama 项目 README,开始在本地计算机上运行模型…

使用PyCharm 开发工具创建工程

一. 简介 前面学习了 安装 python解释器。如何安装python的一种开发工具 PyCharm。 本文来简单学习一下,如何使用 PyCharm 开发工具创建一个简单的 python工程。 二. PyCharm 开发工具创建一个工程 1. 首先,首先打开PyCharm 开发工具。选择 创建一…

【计算机毕业设计】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别

谷物识别系统,本系统使用Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对11种谷物图片数据集(‘大米’, ‘小米’, ‘燕麦’, ‘玉米渣’, ‘红豆’, ‘绿豆’, ‘花生仁’, ‘荞麦’, ‘黄豆’, …

白银票据~

一. 白银票据的原理 白银票据就伪造ST票据, kerberoasting是破解ST票据中的服务用户hash值,有以下区别: 白银票据:伪造的ST使用的是机器用户的Hash值 Kerberoasting:破解的是ST的域用户的hash值二. 白银票据的利用条件 1.域名 …

[数据集][目标检测]旋风检测数据集VOC+YOLO格式157张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):159 标注数量(xml文件个数):159 标注数量(txt文件个数):159 标注类别…

【机器学习】GBDT (Gradient Boosting Decision Tree) 深入解析

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 GBDT (Gradient Boosting Decision Tree) 深入解析引言一、GBDT基础理论1.1 梯度…

C++——从C语言快速入门

目录 一、数组 1、声明数组 2、初始化数组 3、访问数组元素 4、示例 5、注意事项 6、数组小练习 计算器支持加减乘除 数组找最大值 二、指针 三、字符串 string 类型 一、数组 在 C 中,数组是一种存储固定大小的相同类型元素的序列。数组的所有元素都存…

Django中使用Celery和APScheduler实现定时任务

在之前的文章我们已经学习了Celery和APScheduler的基本使用,下面让我们来了解一下如何在Django中使用Celery和APScheduler Celery 1.前提工作 python 3.7 pip install celery pip install eventlet #5.0版本以下 pip install importlib-metadata4.8.3&#xff08…

批量修改文件

最近几个月的文章都直接发在公众号上,没有同步到博客上,想去同步时发现已经有不少了,一个个修改太麻烦了。 之前没规划好,所以博客文章都是直接放在仓库一个目录下,数量多了之后,有点乱,不好管…

工业交换机如何防止广播风暴

工业交换机作为网络设备的重要组成部分,在网络中起到了连接各个设备和传输数据的重要作用。然而,广播风暴是工业交换机面临的一个常见问题,会影响网络性能和稳定性。为了防止广播风暴的发生,工业交换机可以采取一系列有效的措施。…

[数据集][目标检测]吉他检测数据集VOC+YOLO格式66张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):66 标注数量(xml文件个数):66 标注数量(txt文件个数):66 标注类别数…