一个计算机技术爱好者与学习者

0%

好好学Docker:自建RustDesk Server

1. RustDesk简介

RustDesk 是一款开源的远程桌面软件,是 TeamViewer、向日葵的替代软件,提供了高效、安全的远程访问解决方案。

相关文档:

2. 安装RustDesk Client

2.1. Ubuntu22中安装RustDesk Client

本节中,我们在 Ubuntu22 中安装支持 Wayland 的 RustDesk Client。

1、下载 RustDesk Client 安装包

1
wget https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.3.3-x86_64.deb

2、安装 RustDesk Client

1
apt install -fy ./rustdesk-1.3.3-x86_64.deb

3、启动 RustDesk Client
在图形化界面中,启动RustDesk Client,记录下ID和密码用于远程控制。
建议设置一个固定的密码,并设置开机自动启动。

2.2. MacOS中安装 RustDesk Client

1、下载 RustDesk Client 安装包

1
wget https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.3.3-x86_64.dmg

2、安装 RustDesk Client
双击 dmg 文件,拖拽安装

3、启动 RustDesk Client

3. 使用RustDesk进行远程操作

在两台设备上安装并启动 RustDesk Client,然后就可以像Teamviewer一样,输入对方的ID和密码,进行远程控制了。

RustDesk首次建立连接后会提示 请选择要分享的画面(对端操作) ,也就是说必须要求对端操作才能开始远程。
对端选择屏幕并记住选择后,后续再建立连接就不需要对端操作了。

注意:使用RustDesk远程时,哪怕对端已经锁屏息屏,也可以唤醒并进行远程,相当于本地操作远程屏幕。

重启主机后再次连接,会提示 不支持使用 Wayland 登录界面 ,说明RustDesk对 Wayland 的支持并不好。详情参考:Login screen using Wayland is not supported yet.

4. 自建RustDesk Server

4.1. 为什么需要自建RustDesk Server?

以上,我们已经可以使用RustDesk Client,为什么还需要自建RustDesk Server?
两个原因:

  • 由于被诈骗分子频繁使用,该项目现已暂停国内服务。
  • 使用默认的RustDesk Server,稳定性和隐私性不能保证。

因此,自建RustDesk Server还是有必要的。

4.2. 基于Docker搭建RustDesk Server

参考文档:

1、准备软件目录

1
mkdir -p /opt/rustdesk/data

2、准备 docker-compose.yml

1
2
cd /opt/rustdesk/
vim docker-compose.yml

写入如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:1.1.12
command: hbbs
volumes:
- /opt/rustdesk/data:/root
network_mode: "host"

depends_on:
- hbbr
restart: unless-stopped

hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:1.1.12
command: hbbr
volumes:
- /opt/rustdesk/data:/root
network_mode: "host"
restart: unless-stopped

3、启动 RustDesk Server

1
docker-compose up -d

4、查看 RustDesk Server 状态

1
2
3
4
docker-compose ps
docker ps | grep rustdesk
docker logs hbbs
docker logs hbbr

5、获取服务器Key

1
docker logs hbbs

可以在日志中看到一个Key,记录下来。

4.3. 开放端口

hbbs默认监听端口:

  • 21114(TCP):用于 Web 控制台,仅在 Pro 版本中可用
  • 21115(TCP):用于 NAT 类型测试
  • 21116(TCP/UDP):UDP 用于 ID 注册和心跳服务,TCP 用于 TCP 打孔和连接服务
  • 21118(TCP):用于支持Web客户端,可选禁用

hbbr默认监听端口:

  • 21117(TCP):用于 Relay 服务
  • 21119(TCP):用于支持Web客户端,可选禁用

5. 配置使用Rust Server

假设 Rust Server 的IP地址为 8.136.12.13

1、打开Rust Client设置页面

2、网络,解锁网络设置

  • ID服务器:填入 8.136.13.58:21116
  • 中继服务器:填入 8.136.13.58:21117
  • Key:填入【基于Docker搭建RustDesk Server】一节中获取到的Key。