本文发布于 481 天前,最后更新于 452 天前,其中的信息可能已经有所发展或是发生改变。
买过台 itx 小主机,因为不咋打游戏加之打算做服务器用,一直没配显示器绝对不是因为穷,绝对不是,所以操作一直使用远程桌面或者远程串流
正常来说一直借助 RDP 操作,偶尔打游戏用 Parsec,不过最近 Parsec 经常无法直连,延迟直接上百,可能和网络加了层小猫咪有关,于是就研究了一下,最开始是想从小猫咪解决,但效果不明显,就把目光放到了 ZeroTier 上
其实蛮早就有接触 ZeroTier,不过没用的原因是用官方服务器分配的 IP 不咋满意,就不太想用
不过上次搭建 RustDesktop 服务器给了我灵感,自己建一个 ZeroTier 服务器不就行了吗
于是动手
配置 ZeroTier 行星服务器
部署
Docker 是个好东西,对吧,所以直接借助 Docker
因为步骤简单,就不多赘述了
开放服务器 TCP 端口 4000/9993/3180 和 UDP 端口 9993
git clone https://github.com/Jonnyan404/zerotier-planet
// OR git clone https://gitee.com/Jonnyan404/zerotier-planet
cd zerotier-planet
vi docker-compose.yml
// 修改第11行内容,替换为自己服务器ip!!!
docker-compose up -d
docker cp mkmoonworld-x86_64 ztncui:/tmp
docker cp patch.sh ztncui:/tmp
docker exec -it ztncui bash /tmp/patch.sh
docker restart ztncui
然后复制以上内容,粘贴到终端运行
使用
在浏览器中访问http://ip:4000
进入 web 控制台
初次使用要求修改密码
进入后右上角登陆,登陆后点击左边的 Add network
按钮,进行网络添加
名字弄个符合你心意的即可
添加后在 Network
界面进行管理,推荐直接选择 easy setup
创建你的网络地址,或者也可以选择随机生成
稍后记录下你的 Network ID
ZeroTier 客服端使用
下载安装,不必多说了吧
然后访问http://ip:3180
下载planet
文件
安装后访问软件数据目录,替换目录中的planet
文件并重新运行zerotier-one
服务,各系统目录和操作如下
Windows : C:\ProgramData\ZeroTier\One
打开任务管理器并转到“服务”选项卡。向下滚动,直到看到“ZeroTierOneService”。状态栏应显示“正在运行”。右键单击该行,然后单击“重新启动”
macOS:/Library/Application Support/ZeroTier/One
sudo launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist
sudo launchctl load /Library/LaunchDaemons/com.zerotier.one.plist
Linux :/var/lib/zerotier-one
sudo service zerotier-one stop
sudo service zerotier-one start
最后点击软件界面的 Join New Network...
输入刚才复制的 Network ID
然后回到刚刚的 web 控制台,在 Network
` 中点击之前创建的网络
在新出现的设备勾选☑️ Authorized,当然,核对 Member ID
以防弄错,不过一般也不会hh
然后在 IP assignment
一列点击设备,分配 IP
最后这大功告成,正常使用 Parsec 即可
后记
嗷对,如果仅仅是为了 Parsec 打洞的话没必要做到这么细,不过因为分配 IP,虚拟内网之后可以做的更多,比如配合Syncthing,RDP等,所以就多写了点
以及回答一个可能关心的问题,行星服务器在过程中只是充当一个类似DNS服务器的作用,连接后的流量是通过peer to peer 即P2P进行传输的,对服务器流量消耗不大,不过 P2P 连接失败,是否走服务器流量忘了,不过问题不大hh