自建RustDesk远程服务

RustDesk 是一款开源的远程桌面软件,性能优秀,可以自建服务器以提升连接速度和数据安全性。搭建服务主要包含两个部分:中继服务器 和 ID 服务器

核心概念

  1. 中继服务器:负责转发远程桌面的音视频和数据流。当点对点直连失败时,它会充当中转站,确保连接稳定。

  2. ID 服务器:一个简单的 HTTP 服务,用于将 RustDesk 客户端的 ID 映射到其当前的中继服务器地址,实现“通过 ID 连接”的功能。

在私有化部署中,这两个服务通常部署在同一台服务器上。

搭建步骤

这里提供两种最主流的方式:使用 Docker(推荐) 和 直接编译运行

方法一:使用 Docker 部署(最简单快捷)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

services:
hbbs: # RustDesk ID/Rendezvous 服务器
container_name: hbbs
image: docker.olinl.com.cn/rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./hbbs_data:/root
ports:
- 21115:21115 # 用于 NAT 类型测试的 TCP
- 21116:21116 # TCP打孔
- 21116:21116/udp # UDP心跳/ID服务器
- 21118:21118 # 如果要运行web客户端,则使用TCP进行web套接字
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped

hbbr:
container_name: hbbr
image: docker.olinl.com.cn/rustdesk/rustdesk-server:latest
command: hbbr
ports:
- 21117:21117 # TCP中继
- 21119:21119 # 如果要运行web客户端,则使用TCP进行web套接字
volumes:
- ./hbbr_data:/root
restart: unless-stopped
networks:
- rustdesk-net

networks:
rustdesk-net:
external: false

服务启动后,会在 data 目录下生成一对密钥文件(id_ed25519.pub 和 id_ed25519)。公钥是客户端配置时需要用的。

1
cat ./data/id_ed25519.pub

记下这串公钥内容。