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

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

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

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

相关文章

Spark 中dtypes函数

前言 在Spark SQL中,dtypes函数用于获取DataFrame或Dataset中各列的数据类型信息。它返回一个由列名和数据类型组成的元组列表,其中每个元组表示一列的名称和相应的数据类型。 在Spark SQL中使用dtypes函数的示例代码: # 导入必要的库 from …

SpringCloud Hystrix服务熔断实例总结

SpringCloud Hystrix断路器-服务熔断与降级和HystrixDashboard SpringCloud Hystrix服务降级实例总结 【1】服务熔断 熔断机制概述 熔断机制是应对雪崩效应的一种微服务链路保护机制。当扇出链路的某个微服务出错不可用或者响应时间太长时,会进行服务的降级&…

WWDC 2024前瞻:苹果如何用AI技术重塑iOS 18和Siri

苹果下周的全球开发者大会有望成为这家 iPhone 制造商历史上的关键时刻。在 WWDC 上,这家库比蒂诺科技巨头将展示如何选择将人工智能技术集成到其设备和软件中,包括通过与 OpenAI 的历史性合作伙伴关系。随着重大事件的临近,有关 iOS 18 及其…

基于深度学习的非线性回归模型简介

基于深度学习的非线性回归模型简介 随着深度学习技术的快速发展,非线性回归模型已经成为了机器学习领域中非常重要的一部分。非线性回归模型可以用于解决许多实际问题,例如金融预测、医疗诊断、图像识别、自然语言处理等等。本文将从深度学习的角度出发&…

AI大模型时代必须关注的数据库 DuckDB1.0 正式发布

开源数据库DuckDB1.0 经过内部6年的打磨,积累了30万行代码,1.8万star,2024.06.03号正式发布了1.0版本(代号 Snow Duck)。 我们新一代程序员,没能见证MySQL 1.0、PostgreSQL 1.0、Windows 1.0、Linux 1.0、…

flinksql 回撤流中主键发生变更的影响(group by中的值发生改变)

flinksql 回撤流中,主键发生变更的影响 1 什么是回撤流2 主键变更场景2.2 实践发生3 实践中发现的比较好的的实时数仓架构1 什么是回撤流 这篇文章主要谈论一个场景,简单来说: 首先我们来简单的说一下什么是回撤流,以及回撤流的底层原理,举个例子: 这个说的不是很清晰…

【吊打面试官系列】MySQL 中有哪几种锁?

大家好,我是锋哥。今天分享关于 【MySQL 中有哪几种锁?】面试题,希望对大家有帮助; MySQL 中有哪几种锁? 1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,…

1084. 销售分析III

1084. 销售分析III 题目链接:1084. 销售分析III 代码如下: # Write your MySQL query statement below select p.product_id,p.product_name from Product as p,Sales as s where p.product_ids.product_id group by s.product_id havingmin(s.sale…

TypeScript学习(一):开发环境搭建

官方文档搭建参考 https://learn.microsoft.com/zh-cn/training/modules/typescript-get-started/ 1.下载node.js https://nodejs.org/en/download 2.下载vscode https://code.visualstudio.com/ 3.在线ts的测试工具 https://www.typescriptlang.org/play/ 4.下载typescr…

H5即时通讯群聊源码无限建群创群/H5聊天系统聊天网站源码/H5语音聊天系统

源码介绍 支持自助建群 管理群 修改群资料支持自动登录 登陆成功可自助修改资料后台可查看群组聊天消息记录支持表情 动态表情 图片发布支持消息语音提醒

docker-compose教程

1. docker-compose是什么? 1. 1 简介 compose、machine 和 swarm 是docker 原生提供的三大编排工具。 简称docker三剑客。Compose 项目是 Docker 官方的开源项目,定义和运行多个 Docker 容器的应用(Defining and running multi-container Do…

月入30000的软件测试人员,简历是什么样子的?

我们都知道,简历是一个人进入职场的敲门砖。从某种层面来说,简历也像一个人的具象身份证,或者专业资格证。所以,一份简历的好坏,不仅关乎个人的“脸面”,更关乎你是不是一个有“含金量”的技术人员。 所以…

SVG画双色虚线并带有流动效果

实现效果 HTML代码 <svg xmlns"http://www.w3.org/2000/svg" viewBox"0 0 100 100" version"1.1"><polyline points"10,20 10,40 80,40 80,60" stroke-width"2" stroke-dasharray"10 10" fill"non…

C语言数据结构排序、插入排序、希尔排序(多组并排、一组排完排另一组)、选择排序、堆排序、冒泡排序等的介绍

文章目录 前言打印数组函数一、插入排序二、希尔排序三、选择排序四、堆排序五、冒泡排序总结 前言 C语言数据结构排序、插入排序、希尔排序&#xff08;多组并排、一组排完排另一组&#xff09;、选择排序、堆排序、冒泡排序等的介绍 打印数组函数 打印数组函数定义 // 打印…

如何以定投策略投资场外个股期权?

场外个股期权为投资者提供了一种灵活且富有潜力的投资工具。与传统的投资方式不同&#xff0c;场外个股期权以其低门槛、高灵活性和潜在的较高回报吸引了众多投资者。对于希望长期稳健增值的投资者来说&#xff0c;利用定投策略来投资场外个股期权是一个值得考虑的选项。 文章…

[JS]学习笔记2 -- JAVAScript数据类型

一、常量 概念&#xff1a;使用 const 声明的变量称为“常量”。 使用场景&#xff1a;当某个变量永远不会改变的时候&#xff0c;就可以使用 const 来声明&#xff0c;而不是let。 命名规范&#xff1a;和变量一致 注&#xff1a;常量不允许重新赋值&#xff0c;在声明的时…

k8s 中正确删除一个 pod

pod 删除后会自动重启个新 pod 怎么办&#xff1f; 这个问题通常是由于各种控制器导致的&#xff1a; Deployment: 如果Pod是由Deployment管理的&#xff0c;那么Deployment的目的就是保持所需数量的Pod运行。检查Deployment的配置&#xff0c;并根据需要更新或删除Deploymen…

消息队列的选型

消息队列的选型 现时代中可供我们选择的消息队列组件不少也不多&#xff0c;在国内环境中&#xff0c;大多数企业需要考虑的组件往往只需要在RabbitMQ 、RocketMQ、Kafka中选择&#xff1b; 为此针对以上三者在何种系统何种业务下是最佳选型&#xff0c;此篇记录&#xff1b;…

fork()和execl()结合使用的用法

fork()和execl()通常结合使用是为了在子进程中执行新的程序&#xff0c;而不会影响父进程。在上述代码中&#xff0c;fork()创建了一个子进程&#xff0c;execl()则在子进程中替换当前进程的执行上下文&#xff0c;用/bin/remount程序替代。这种组合有以下几个原因&#xff1a;…

什么样的男士内裤比较好?按这个方法选男士内裤不会出错!

男士内裤作为日常穿着的重要服饰&#xff0c;其舒适度与卫生性对男士们的健康至关重要。随着时代的变迁&#xff0c;男士内裤的款式与材质也日益丰富多样&#xff0c;为男士们提供了更多选择。 目前市场上&#xff0c;男士内裤主要分为三角、平角和四角三大类别。其中&#xf…