自建 RustDesk 服务

2024/03/06
共 1.2k 字
约 4 分钟
归档: 技术

上一次华为云搞活动,20块买下 7 年的域名,于是才有了现在这个博客。


服务器

今天看到服务器也在搞活动,先看看配置:

CPU:2核
内存:2G
带宽:3M
硬盘:40G
流量:400G/月

带宽虽然低了点,但是46块能用一年,比其他家的首单甚至学生优惠都要便宜,直接下单一个。购买后首先要重置服务器密码,找到控制台 > 我的资源 > L 实例 > 重置密码,之后就可以通过 ssh 连接到服务器。

RustDesk

RustDesk 官网

自建服务器文档

在需要居家办公那段时期,基本把市面上流行的远程软件都用了一遍,最后主要用 ToDesk。备用 RustDesk。当时就注意到它支持使用自建的服务器,所以很快就找到部署文档。

连上服务器后,先安装 git、wget、curl 这些常用的包。

node 我选择用 nvm 管理,安装 nvm 时问题就来了:连不上 GitHub。

第一时间想到修改 hosts,在修改并清除 DNS 缓存后,发现无济于事,想起了可以利用 Gitee 克隆 GitHub 仓库的功能(也可以上传 release 文件)。这样就可以拿到仓库/文件的链接,用来代替 GitHub 上的文件连接。虽然有点曲折,但总归是个快速的方法。


Ubuntu 下查看/清除 DNS 缓存

resolvectl statistics

resolvectl flush-caches

开放端口

RustDesk 要求开放以下端口

端口作用
21115(tcp)hbbs 用作 NAT 类型测试
21116(tcp)hbbs用作TCP打洞与连接服务
21116(udp)hbbs 用作 ID 注册与心跳服务
21118(tcp)网页客户端,可不开启
21117(tcp)hbbr用作中继服务
21119(tcp)网页客户端,可不开启

一般云服务器供应商,都会提供开放端口的控制面板,以华为云为例:

控制台 > 我的资源 > L 实例 > 进入需要修改的实例 > 服务器操作 > 更改安全组

在以上弹窗中,点击新建安全组,会跳转到管理安全组的页面,名称填写 rustdesk,模板随意,因为待会可以全部删除,添加上述表格里的端口即可。

回到更改安全组的弹窗,勾选上新建的安全组,重启服务器即可。

安装 rustdesk-server

releases 页面下载 rustdesk-server-linux-amd64.zip,下载后上传到 Gitee。在适当位置下载这个文件,解压。

wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.10-3/rustdesk-server-linux-amd64.zip

解压后得到一个文件夹 amd64,文件夹里只有两个文件:hbbs 与 hbbr。这是两个可以直接执行的文件,这时候其实可以直接启动这两个服务了:

./hbbs
./hbbr

但实际使用中,需要让服务保持启动,这就需要用到守护进程(daemon)

systemctl 与 pm2

systemctl 提供了一个统一的方式来启动、停止、重启、启用或禁用系统服务,是 Linux 下最正统的系统服务管理工具:

systemctl start [服务名称].service // 启动一个服务
systemctl stop [服务名称].service // 停止一个服务

systemctl restart [服务名称].service // 重启一个服务
systemctl reload [服务名称].service // 重新加载服务的配置文件

systemctl enable [服务名称].service // 设置服务在系统启动时自动启动
systemctl disable [服务名称].service // 取消服务在系统启动时自动启

systemctl status [服务名称].service // 查看服务的当前状态和详细信息
systemctl list-units --type=service // 查看所有当前已启动的服务

而在 rustdesk-server 的安装教程中,第一次看到了 pm2,既然遇到,那就试试看

首先在全局安装 pm2

npm install pm2@latest -g

进入到上面的 amd64 文件夹

pm2 start hbbs
pm2 start hbbr

可以使用 pm2 list 查看当前的进程

在客户端配置服务器

服务启动后,会在可执行文件目录(在例子中是amd64)下生成公钥,可以用 cat 命令查看,这个就是下图中用到的 key

cat id_ed25519.pub

写在最后

之前一直没买服务器,是因为有 Vercel。可以部署静态页面,要写接口就用他的 serverless 函数,有着足够个人学习使用的免费额度,除了不能用 websocket 以及速度差了点,简直完美。为了搭博客而买服务器,完全没必要。

而现在手上这个服务器,3M 的带宽注定也只能作为接口,做个图床都嫌他太慢,更别说搭建流媒体服务。

希望接下来一年里,它能稍微发挥点作用。

留言

本站已运行
© 2024 Jack  由 Hexo 驱动
复制成功