搭建zerotier私有planet服务器实现公网游戏级别远程

Booting from Hard disk 2024-07-05 11:37:02 阅读 63

简介

zerotier是一个虚拟局域网工具,官方提供了自己的根服务器(planet)作为数据转发,但由于服务器大多在境外,国内访问延迟较高且不稳定。此时,搭建自己的planet服务器就是不二之选

方法

一、购买云服务器

如果你没有自己的有固定公网IP的服务器,则需要购买一台云服务器。

购买建议:如果钱多,可以选择阿里云,腾讯云。如果钱少,可以选择狗云,三丰云,观星云等众多小服务器厂商。

配置:最好2核2G,带宽按需选:如果只是远程办公,3Mbps公网带宽就够了。如果是游戏级别,带宽最好在10Mbps以上。可选共享带宽。

系统镜像:Ubuntu 20.04

地域:游戏级别远程最好选国内的,且跟你所在地越近越好。办公远程的话可以拓宽至香港以及周边国家的服务器,如新加坡,韩国

我自己购买的是一台阿里云99一年的服务器(用于办公远程)2Mbps,和一台观星云(用于游戏远程)30Mbps。本文测试基于观星云这台

阿里云

阿里云配置

观星云

观星云

二、安装(基于Ubuntu)

参考:https://blog.csdn.net/smzq123/article/details/128760942?spm=1001.2014.3001.5506

1. 升级云桌面的软件

依次执行

<code>apt-get upgrade

apt-get dist-upgrade

等待升级完成

2. 安装nlohmann-json-dev

根据引用文章里的原文说

“若使用的是Ubuntu16.04,在编译Zerotier的时候会出现找不到nlohmann/json.h的问题,需要安装nlohmann-json-dev:”

所以以防万一,都安装一下

执行

wget http://kr.archive.ubuntu.com/ubuntu/pool/universe/n/nlohmann-json/nlohmann-json-dev_2.1.1-1.1_all.deb && dpkg -i nlohmann-json-dev_2.1.1-1.1_all.deb

如果执行报错,或者链接失效,可去我百度网盘下载nlohmann-json-dev_2.1.1-1.1_all.deb,然后上传到服务器之后在对应文件夹下执行dpkg -i nlohmann-json-dev_2.1.1-1.1_all.deb

链接:https://pan.baidu.com/s/1myeO-3Jyy_RlMeOccPpSQQ

提取码:jxji

3. 安装Zerotier 和 ZtnCui

说明:ZtnCui是一个用来给zerotier呈现配置web界面的东西,开源免费

执行

wget https://gitee.com/opopop880/zerotier_planet/raw/master/zerotier_planet_debain.sh && chmod +x zerotier_planet_debain.sh && ./zerotier_planet_debain.sh

为了防止链接失效,此处贴出链接中“zerotier_planet_debain.sh”的源代码

#!/bin/bash

# debain ubuntu自动安装zerotier 并设置的为planet服务器

# addr服务器公网ip+port

ip=`wget http://ipecho.net/plain -O - -q ; echo`

addr=$ip/9993

apt autoremove

apt update -y

apt install curl -y

echo "********************************************************************************************************************"

echo "**********deabin unbuntu自动安装zerotier 并设置的为planet服务器 火木木制作 放在root目录执行**********************************"

curl -s https://install.zerotier.com/ | sudo bash

identity=`cat /var/lib/zerotier-one/identity.public`

echo "identity :$identity=============================================="

apt-get -y install build-essential

apt-get install git -y

git clone https://gitee.com/opopop880/ZeroTierOne.git

cd ./ZeroTierOne/attic/world/

sed -i '/roots.push_back/d' ./mkworld.cpp

sed -i '/roots.back()/d' ./mkworld.cpp

sed -i '85i roots.push_back(World::Root());' ./mkworld.cpp

sed -i '86i roots.back().identity = Identity(\"'"$identity"'\");' ./mkworld.cpp

sed -i '87i roots.back().stableEndpoints.push_back(InetAddress(\"'"$addr"'\"));' ./mkworld.cpp

source ./build.sh

./mkworld

mv ./world.bin ./planet

\cp -r ./planet /var/lib/zerotier-one/

\cp -r ./planet /root

systemctl restart zerotier-one.service

wget https://gitee.com/opopop880/ztncui/attach_files/932632/download/ztncui_0.8.6_amd64.deb

sudo dpkg -i ztncui_0.8.6_amd64.deb

cd /opt/key-networks/ztncui/

echo "HTTPS_PORT = 3443" >>./.env

secret=`cat /var/lib/zerotier-one/authtoken.secret`

echo "ZT_TOKEN = $secret" >>./.env

echo "ZT_ADDR=127.0.0.1:9993" >>./.env

echo "NODE_ENV = production" >>./.env

echo "HTTP_ALL_INTERFACES=yes" >>./.env

systemctl restart ztncui

rm -rf /root/ZeroTierOne

echo "**********安装成功*********************************************************************************"

此源代码里需要clone一个ZeroTierOne仓库和下载ztncui_0.8.6_amd64.deb文件。如果仓库失效,可以去我百度网盘下载(仓库文件名ZeroTierOne-master),然后自行修改此脚本文件

链接:https://pan.baidu.com/s/18TVyul4DGX-NxUMkZK24WQ

提取码:mky3

4. 下载私有planet文件

进入服务器的/root目录下,可以看到文件planet

下载到客户端电脑上

5. 访问后台

记得先开放tcp 9993跟3000端口,UDP 9993端口

访问http://你的公网IP或者域名:3000/

点击登录,初始用户名admin,初始密码password

在这里插入图片描述

登录后点击添加网络选项卡,添加私有网络

在这里插入图片描述

点击简易安装,分配地址

在这里插入图片描述

在这里插入图片描述

6. 客户端设置(Windows电脑)

在客户端电脑上按Win+R打开运行,输入services.msc打开服务,找到“Zerotier One”服务,单击右键停止他

在这里插入图片描述

在这里插入图片描述

进入“C:\ProgramData\ZeroTier\One”,替换原本的planet文件为自己的planet文件

在这里插入图片描述

再去服务里启动ZeroTier One服务

在任务栏的zerotier图标上单击右键,选择join new network

在这里插入图片描述

输入16位码,点击join

在这里插入图片描述

7. 客户端设置(Android手机)

下载Zerotier Fix.apk

链接:https://pan.baidu.com/s/12j-P6Bari9PG258Wp4ufiQ

提取码:92km

在这里插入图片描述

在Zerotier Fix的设置里打开“启动自定义planet”,然后将自己的planet文件发到手机上,然后点击“设置planet文件”

在这里插入图片描述

然后在主界面的右下角点击加好,添加网络,并输入16位码

在这里插入图片描述

8. 去后台分配IP地址

将刚刚添加的客户端设备勾选“经授权的”和“主动桥接”,并分配IP地址

在这里插入图片描述

9. 使用远程桌面连接或者Parsec连接远程设备

输入刚分配的虚拟局域网IP,就可以连接远程设备(刚添加可能会连不了,可以等一段时间,或者ping通了在连接)

在这里插入图片描述

实测利用Parsec公网远程2K 60帧原神,总延迟大概150ms,带宽能跑在10Mbps-20Mbps(观星云)

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。