zerotier 搭建 moon中转服务器 及 自建planet

搭建moon 服务器

环境准备

shell 复制代码
# 安装依赖
yum install wget gcc gcc-c++ git -y
yum install json-devel -y


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

节点ID

配置

配置moon.json文件

shell 复制代码
cd /var/lib/zerotier-one/

# 导出依赖
zerotier-idtool initmoon identity.public >>moon.json

# 编辑配置文件 编辑 stableEndpoints配置项(ip地址和端口): "ip/9993"
vim moon.json

生成.moon文件并进行配置

shell 复制代码
# 创建 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 文件夹,则自己手动创建一个

shell 复制代码
MacOS: /Library/Application Support/ZeroTier/One/moons.d
# 注意 ProgramData 是隐藏文件,需要手动打开显示
Windows: C:\ProgramData\ZeroTier\One\moons.d 

Linux: /var/lib/zerotier-one/moons.d

如何使配置生效

MacOS
shell 复制代码
# mac 重启ZeroTier
cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill
Windows

在服务中重启ZerotierOne 服务

Linux
shell 复制代码
systemctl restart zerotier-on
# 查询是否生效

MacOS, Windows, Linux 都可以使用此命令进行查询

shell 复制代码
# 查询是否生效
zerotier-cli peers

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

自建planet

参考: https://key-networks.com/ztncui/

打开防火墙 3000(http)端口和 3443(https) 端口

安装及配置

shell 复制代码
# 安装
sudo yum install https://download.key-networks.com/el7/ztncui/1/ztncui-release-1-1.noarch.rpm -y

sudo 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,启动时出现了

shell 复制代码
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
解决方案
shell 复制代码
# 先检查本地库是否存在GLIBCXX_3.4.20
find / -name "libstdc++.so*"
shell 复制代码
# 使用以下命令查询是否有`GLIBCXX_3.4.20`
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

如果本地存在,那就直接替换

shell 复制代码
# 将存在的版本拷贝到 /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,那就需要下载一个

shell 复制代码
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
相关推荐
Justin_192 小时前
Linux-Shell编程之sed和awk
linux·运维·服务器
半桔3 小时前
【Linux手册】消息队列从原理到模式:底层逻辑、接口实战与责任链模式的设计艺术
java·linux·运维·服务器
华纳云IDC服务商3 小时前
Linux服务器的系统安全强化超详细教程
linux·服务器·系统安全
衍余未了3 小时前
k8s镜像推送到阿里云,使用ctr推送镜像到阿里云
linux·运维·服务器
Forever_Hopeful3 小时前
【C 语言生成指定范围随机数(整数 + 小数):原理、实现与避坑指南】
服务器·c语言·开发语言
yiqiqukanhaiba3 小时前
Linux编程笔记1-概念&数据类型&输入输出
linux·运维·服务器
乌萨奇也要立志学C++3 小时前
【Linux】进程概念(一):从冯诺依曼体系到 PCB 的进程核心解析
linux·运维·服务器
游九尘4 小时前
服务器都是用的iis, 前端部署后报跨域,不是用同一个服务器 是前端项目的服务器做Nginx转发,还是后端项目的服务器做Nginx转发?
服务器·前端·nginx
tangweiguo030519874 小时前
Django REST Framework 构建安卓应用后端API:从开发到部署的完整实战指南
服务器·后端·python·django
huangyuchi.4 小时前
【Linux系统】初见线程,概念与控制
linux·运维·服务器·页表·linux线程概念·linux线程控制·分页式存储管理