zerotier 搭建 moon中转服务器 及 自建planet
搭建moon 服务器
环境准备
# 安装依赖
yum install wget gcc gcc-c++ git -y
yum install json-devel -y# 下载及安装
curl -s https://install.zerotier.com/ | sudo bash
节点ID
配置
配置moon.json文件
cd /var/lib/zerotier-one/# 导出依赖
zerotier-idtool initmoon identity.public >>moon.json# 编辑配置文件 编辑 stableEndpoints配置项(ip地址和端口): "ip/9993"
vim moon.json

生成.moon文件并进行配置
# 创建 moon 服务器文件
zerotier-idtool genmoon moon.json# 创建moons.d文件夹
mkdir /var/lib/zerotier-one/moons.d# 复制到moons.d 文件夹下
cp 000000951a0ea9af.moon ./moons.d/ # 重启 zerotier 服务
systemctl restart zerotier-one
其它节点加入到 moon 服务中
注意,需要将云服务器的UDP: 9993端口打开,加入配置文件后,需要重启ZeroTier或者重启系统生效
将.moon 放入到指定的文件夹中,如果没有moons.d 文件夹,则自己手动创建一个
MacOS: /Library/Application Support/ZeroTier/One/moons.d
# 注意 ProgramData 是隐藏文件,需要手动打开显示
Windows: C:\ProgramData\ZeroTier\One\moons.d Linux: /var/lib/zerotier-one/moons.d
如何使配置生效
MacOS
# mac 重启ZeroTier
cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill
Windows
在服务中重启ZerotierOne 服务

Linux
systemctl restart zerotier-on

# 查询是否生效
MacOS, Windows, Linux 都可以使用此命令进行查询
# 查询是否生效
zerotier-cli peers

使用mood中转服务器后的速度

自建planet
参考: https://key-networks.com/ztncui/
打开防火墙 3000(http)端口和 3443(https) 端口
安装及配置
# 安装
sudo yum install https://download.key-networks.com/el7/ztncui/1/ztncui-release-1-1.noarch.rpm -ysudo yum install ztncui -y# 配置(/opt/key-networks/ztncui/.env 是配置文件,可以直接手动修改)
sudo sh -c "echo ZT_TOKEN=`sudo cat /var/lib/zerotier-one/authtoken.secret` > /opt/key-networks/ztncui/.env"# 设置 3443端口
sudo sh -c "echo HTTPS_PORT=3443 >> /opt/key-networks/ztncui/.env"# 添加运行外部ip访问(不加这一行的话,就只允许本机访问)
sudo sh -c "echo HTTP_ALL_INTERFACES=yes >> /opt/key-networks/ztncui/.env"sudo sh -c "echo NODE_ENV=production >> /opt/key-networks/ztncui/.env"sudo chmod 400 /opt/key-networks/ztncui/.env# 配置服务自动启动
sudo systemctl enable ztncui# 重启服务
sudo systemctl restart ztncui
配置网络
访问3000端口进入管理页面
默认账号是: admin
密码是: password

创建一个网络

配置网段


将对应ID复制到本机的 zerotier 终端,加入即可

其它问题
Nov 22 21:31:42 VM-20-12-centos ztncui[26843]: Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required b
使用的系统是 Centos7,启动时出现了
Nov 22 21:31:42 VM-20-12-centos ztncui[26843]: Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required b

解决方案
# 先检查本地库是否存在GLIBCXX_3.4.20
find / -name "libstdc++.so*"

# 使用以下命令查询是否有`GLIBCXX_3.4.20`
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

如果本地存在,那就直接替换
# 将存在的版本拷贝到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64# 查看 /usr/lib64下libstdc++.so.6链接的版本
ls -l | grep libstdc++# 删除原先的软连接(不放心可以备份)
rm libstdc++.so.6# 使用最新的库建立软连接
ln -s libstdc++.so.6.0.26 libstdc++.so.6# 查看新版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
如果说本地都不存在GLIBCXX_3.4.20,那就需要下载一个
cd /usr/local/lib64/# 下载最新版本的`下载最新版本的libstdc.so_.6.0.26`
wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip# 解压
unzip libstdc.so_.6.0.26.zip# 将下载的最新版本拷贝到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64# 查看 /usr/lib64下libstdc++.so.6链接的版本
ls -l | grep libstdc++# 删除原先的软连接(不放心可以备份)
rm libstdc++.so.6# 使用最新的库建立软连接
ln -s libstdc++.so.6.0.26 libstdc++.so.6# 查看新版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
相关文章:
zerotier 搭建 moon中转服务器 及 自建planet
搭建moon 服务器 环境准备 # 安装依赖 yum install wget gcc gcc-c git -y yum install json-devel -y# 下载及安装 curl -s https://install.zerotier.com/ | sudo bash节点ID 配置 配置moon.json文件 cd /var/lib/zerotier-one/# 导出依赖 zerotier-idtool initmoon ide…...
深入了解Rabbit加密技术:原理、实现与应用
一、引言 在信息时代,数据安全愈发受到重视,加密技术作为保障信息安全的核心手段,得到了广泛的研究与应用。Rabbit加密技术作为一种新型加密方法,具有较高的安全性和便捷性。本文将对Rabbit加密技术进行深入探讨,分析…...
Linux常用命令——mv命令
文章目录 1. 简介2. 命令格式3. 主要参数4. 常见用法及示例4.1 移动文件4.2 重命名文件4.3 交互式移动文件4.4 强制移动文件4.5 移动多个文件4.6 使用通配符移动文件 5. 注意事项6. 结论 1. 简介 mv 命令在Linux系统中用于移动文件或目录,同时也可以用于重命名文件…...
Panalog 日志审计系统 前台RCE漏洞复现
0x01 产品简介 Panalog是一款日志审计系统,方便用户统一集中监控、管理在网的海量设备。 0x02 漏洞概述 Panalog日志审计系统 sy_query.php接口处存在远程命令执行漏洞,攻击者可执行任意命令,接管服务器权限。 0x03 复现环境 FOFA…...
Android设置文字颜色渐变
项目中用到了很多文字颜色渐变的设计,因此做一下记录。 核心代码如下: /*** 统一文字渐变色设置* param colors 渐变色字符串数组* param positions 渐变色位置数组,可为空* param start 渐变起始点,可为空* param end 渐变结束…...
java基础面试题(二)
java后端面试题大全 3.JVM3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置?3.2 java类的加载流程3.3 java内存溢出什么时候会发生以及解决方法 3.JVM 3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置? 堆 对象实例、String常量池、基…...
php爬虫实现把目标页面变成自己的网站页面
最近又被烦的不行,琐事不断,要是比起懒来一个人比一个人懒,但是懒要转换成动力啊,能让自己真正的偷懒,而不是浪费时间。每天还是需要不断的学习的,才能更好的提高效率,把之前做的简单小功能爬虫…...
[c语言c++]手写你自己的swap交换函数
函数传参有按值传递,指针传递,引用传递,分别看一下三种情况下的交换函数如何书写,应该使用哪种最方便。 当书写一个交换两个值的 swap 函数时,我们可以分别使用按值传参、指针传参和引用传参的方式来实现。下面是示例和…...
技术类知识汇总(二)
在自己日常学习javaweb的过程中,做的一些笔记和总结,汇总如下: Springboot项目的静态资源(html,css,js等前端资源)默认存放目录为:classpath:/static classpath:/public classpath:/resources"三层架…...
简单好用!日常写给 ChatGPT 的几个提示词技巧
ChatGPT 很强,但是有时候又显得很蠢,下面是使用 GPT4 的一个实例: 技巧一:三重冒号 """ 引用内容使用三重冒号 """,让 ChatGPT 清晰引用的内容: 技巧二:角色设定…...
pytorch分布式训练
1 基本概念 rank:进程号,在多进程上下文中,我们通常假定rank 0是第一个进程或者主进程,其它进程分别具有1,2,3不同rank号,这样总共具有4个进程 node:物理节点,可以是一个…...
【PyTorch】(三)模型的创建、参数初始化、保存和加载
文章目录 1. 模型的创建1.1. 创建方法1.1.1. 通过使用模型组件1.1.2. 通过继承nn.Module类 1.2. 模型组件1.2.1. 网络层1.2.2. 函数包1.2.3. 容器 1.3. 将模型转移到GPU 2. 模型参数初始化3. 模型的保存与加载3.1. 只保存参数3.2. 保存模型和参数 1. 模型的创建 1.1. 创建方法…...
高效开发之:判断复杂list中的对象属性是否包含某个值
技术使用:使用了Java 8引入的Stream API以及Optional类。这些特性用于简化集合的处理和减少空指针异常。 List<ResourceInfoDto> authData chatBase.getData();String baseName dto.getBaseName();Optional<ResourceInfoDto> authWithResourceCode a…...
MacOS + Android Studio 通过 USB 数据线真机调试
环境:Apple M1 MacOS Sonoma 14.1.1 软件:Android Studio Giraffe | 2022.3.1 Patch 3 设备:小米10 Android 13 一、创建测试项目 安卓 HelloWorld 项目: 安卓 HelloWorld 项目 二、数据线连接手机 1. 手机开启开发者模式 参考࿱…...
部署jekins遇到的问题
jdk问题 我用的jdk版本是21的结果版本太新了,启动jekins服务的时候总是报错最后在jekins的安装目录下面的jekinsErr.log查看日志发现是jdk问题最后换了一个17版本的就解决了。 unity和jekins jekins和Git源码管理 jekins和Git联动使用 我想让jekins每次打包的时…...
SQLY优化
insert优化 1.批量插入 手动事务提交 主键顺序插入,主键顺序插入性能高于乱序插入 2.大批量插入数据 如果一次性需要插入大批量数据,使用Insert语句插入性能较低,此时可以使用MYSQL数据库提供的load指令进行插入 主键优化 主键设计原则 …...
设计模式——行为型模式(一)
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行…...
Rust语言入门教程(六) - 字符串类型
在Rust中, 字符串类型其实是一个比较复杂的话题。在Rust的标准库中,至少都提供了6种字符串类型,我们平常使用的最多的是其中的两种。这两种类型互相之间也有所关联: str: 字符串切片String 字符串 其中, 字…...
【MATLAB源码-第92期】基于simulink的QPSK调制解调仿真,采用相干解调对比原始信号和解调信号。
操作环境: MATLAB 2022a 1、算法描述 QPSK,有时也称作四位元PSK、四相位PSK、4-PSK,在坐标图上看是圆上四个对称的点。通过四个相位,QPSK可以编码2位元符号。图中采用格雷码来达到最小位元错误率(BER) —…...
关于C语言控制浮点数输出精度问题
众所周知 C语言在控制一个浮点数输出精度的时候是在%和f之间加上一个.(想要控制的精度) 如:printf("%.2f", num); 问,试问:(你就是我的御主吗?)如果输出的精度是根据输入的数字变化的怎么办&am…...
Qt图形界面开发集成AI:SmallThinker-3B-Preview实现智能桌面应用
Qt图形界面开发集成AI:SmallThinker-3B-Preview实现智能桌面应用 你是不是也想过,能不能把现在这些厉害的AI能力,直接塞进我们自己写的桌面软件里?比如,在写代码的时候,旁边就有一个能解释复杂代码片段的助…...
告别云端依赖!DeepSeek-R1-Distill-Qwen-1.5B离线运行全攻略
告别云端依赖!DeepSeek-R1-Distill-Qwen-1.5B离线运行全攻略 1. 为什么选择离线运行DeepSeek-R1-Distill-Qwen-1.5B? 在AI应用日益普及的今天,大多数用户仍然依赖云端服务来运行大语言模型。但云端服务存在隐私泄露、网络延迟、使用成本高等…...
国产AI Agent爆发:从“龙虾风暴”看企业级Agent工具选型与实战指南
摘要: 作为一名在企业架构领域摸爬滚打15年的老兵,我见证了从SOA到微服务,再到如今AI原生架构的数次演进。2026年3月底,国内AI圈掀起的“龙虾风暴”标志着Agent工具正式进入爆发期。然而,对于IT负责人和CIO而言&#x…...
革命性WebAssembly运行时wasmer-go:让Go语言轻松运行WebAssembly模块
革命性WebAssembly运行时wasmer-go:让Go语言轻松运行WebAssembly模块 【免费下载链接】wasmer-go 🐹🕸️ WebAssembly runtime for Go 项目地址: https://gitcode.com/gh_mirrors/wa/wasmer-go wasmer-go是一个革命性的WebAssembly运行…...
新疆某工程围岩等级,包含以下7列,均为数值型数据
一、文件结构 文件包含1个工作表:Sheet1仅 Sheet1 包含数据,其余为空表。二、数据列说明 Sheet1 包含以下7列,均为数值型数据:列名(英文)列名(中文推测)数据类型说明VPR未知参数1数值…...
百考通:AI精准驱动数据分析,让数据价值高效落地
在数字化浪潮席卷各行各业的今天,数据已成为核心生产要素,但如何从海量数据中挖掘价值、辅助决策,始终是企业与个人面临的核心难题。传统数据分析流程繁琐、技术门槛高、周期漫长,让许多非专业人士望而却步。百考通(ht…...
从‘数值灾难’到平稳训练:深入浅出聊聊MoE中路由Z-loss的设计哲学
从‘数值灾难’到平稳训练:深入浅出聊聊MoE中路由Z-loss的设计哲学 想象一下,你正在指挥一个由数百名专家组成的交响乐团。每位音乐家都技艺精湛,但如果在演奏时某个乐器的音量突然爆表(比如小号手过于兴奋)ÿ…...
ThinkLink+EdgeBus 将建大仁科的氧传感器接入到LoRaWAN系统
传统 RS485 传感器,也能快速接入 LoRaWAN 系统很多项目现场,其实已经部署了不少成熟可用的传感器。 问题往往不在于“传感器能不能测”,而在于:怎样把这些传统传感器,快速接入 LoRaWAN 和上层业务系统?以 R…...
硬件电路设计方法论与实战技巧
1. 硬件电路设计系统方法论作为一名从业十年的硬件工程师,我深知从理论到实践的鸿沟有多大。很多新手工程师在掌握了基础电路知识后,面对实际项目时仍然手足无措。硬件设计不是简单的元器件堆砌,而是一个系统工程,需要建立完整的设…...
光伏并网发电系统最大功率点跟踪(MPPT)技术研究
光伏并网发电系统最大功率点跟踪(MPPT)技术研究 第一章 绪论 1.1 研究背景与意义 随着全球能源危机和环境污染问题的日益严峻,太阳能作为一种取之不尽、用之不竭的清洁能源,受到了广泛关注。光伏并网发电系统已成为太阳能利用的主要形式。然而,光伏电池的光电转换效率较…...

