RustDesk Docker一键部署教程:自建远程桌面中继服务器
立即下载RustDesk 中文网 全平台支持 · 官方最新版
RustDesk服务端Docker部署概述
RustDesk作为开源远程桌面软件,支持自建中继服务器。通过自建服务器,你可以完全掌控数据传输路径,获得更快的连接速度和更高的隐私保障。Docker部署是目前最快捷的自建方案,一条命令即可启动完整的RustDesk服务端。
本文将手把手教你用Docker部署RustDesk服务端。
前置准备
服务器要求
| 项目 | 最低要求 | 推荐 |
|---|---|---|
| CPU | 1核 | 2核+ |
| 内存 | 512MB | 1GB+ |
| 硬盘 | 5GB | 10GB+ |
| 带宽 | 1Mbps | 5Mbps+ |
| 操作系统 | Linux(Ubuntu/Debian/CentOS) | Ubuntu 22.04 |
| 公网IP | 必需 | — |
需要开放的端口
| 端口 | 协议 | 服务 | 说明 |
|---|---|---|---|
| 21115 | TCP | hbbs | NAT类型测试 |
| 21116 | TCP | hbbs | ID注册/心跳 |
| 21116 | UDP | hbbs | ID注册/心跳 |
| 21117 | TCP | hbbr | 中继服务 |
| 21118 | TCP | hbbs | WebSocket |
| 21119 | TCP | hbbr | WebSocket |
安装Docker
如果服务器尚未安装Docker,执行以下命令:
# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker
# 验证安装
docker --version
docker compose version
部署方案
方案一:Docker Compose部署(推荐)
创建部署目录和配置文件:
mkdir -p /opt/rustdesk
cd /opt/rustdesk
创建 docker-compose.yml 文件:
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r <你的服务器公网IP>:21117
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
重要:将
<你的服务器公网IP>替换为你的服务器实际公网IP地址。
启动服务:
docker compose up -d
查看运行状态:
docker compose ps
方案二:单条Docker命令部署
如果你不想用Docker Compose,也可以分别启动两个容器:
# 创建数据目录
mkdir -p /opt/rustdesk/data
# 启动hbbr(中继服务器)
docker run --name hbbr -p 21117:21117 -p 21119:21119 \
-v /opt/rustdesk/data:/root \
--net=host \
--restart unless-stopped \
-d rustdesk/rustdesk-server:latest hbbr
# 启动hbbs(ID服务器)
docker run --name hbbs -p 21115:21115 -p 21116:21116 \
-p 21116:21116/udp -p 21118:21118 \
-v /opt/rustdesk/data:/root \
--net=host \
--restart unless-stopped \
-d rustdesk/rustdesk-server:latest hbbs -r <你的服务器公网IP>:21117
获取公钥
RustDesk使用密钥对进行加密认证。服务端启动后会自动生成密钥:
cat /opt/rustdesk/data/id_ed25519.pub
输出类似:
kjalsdfjklasdjflkajsdlfjasldfjlasdjflasdjf=
复制这个公钥字符串,客户端连接时需要用到。
防火墙配置
UFW防火墙(Ubuntu)
ufw allow 21115:21119/tcp
ufw allow 21116/udp
ufw reload
firewalld(CentOS)
firewall-cmd --permanent --add-port=21115-21119/tcp
firewall-cmd --permanent --add-port=21116/udp
firewall-cmd --reload
云服务器安全组
如果你使用的是阿里云、腾讯云等云服务器,还需要在云控制台的安全组中添加入站规则:
- 登录云控制台
- 找到安全组设置
- 添加入站规则:
- TCP端口:21115, 21116, 21117, 21118, 21119
- UDP端口:21116
- 来源:0.0.0.0/0(允许所有IP)
客户端配置
RustDesk客户端设置
- 打开RustDesk客户端
- 点击ID旁边的三个点菜单
- 选择「网络」设置
- 填写以下信息:
- ID服务器:你的服务器公网IP
- 中继服务器:你的服务器公网IP
- Key:之前获取的公钥字符串
- 点击「应用」保存
验证连接
- 在两台不同设备上配置好自建服务器
- 用一台设备连接另一台的RustDesk ID
- 如果连接成功,说明部署正确
- 在客户端点击「关于」查看是否显示你的服务器地址
高级配置
配置文件方式
创建 hbbs.conf 和 hbbr.conf 配置文件,放在数据目录中:
# hbbs.conf
relay-server=<你的服务器公网IP>
key=<你的私钥路径>
域名和HTTPS配置
如果你有域名,可以配合Nginx反向代理实现HTTPS:
server {
listen 443 ssl;
server_name rustdesk.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:21118;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
数据持久化
Docker容器重启后数据不会丢失,因为已经将数据目录挂载到 /opt/rustdesk/data。重要文件包括:
id_ed25519:私钥id_ed25519.pub:公钥db/:用户数据库(如果启用了API服务器)
常见问题排查
问题1:客户端无法连接服务器
排查步骤:
- 检查容器是否正常运行:
docker compose ps - 检查端口是否开放:
telnet 你的IP 21116 - 检查防火墙规则:
ufw status或firewall-cmd --list-all - 检查云安全组是否添加了UDP 21116
问题2:连接速度慢
可能原因及解决:
- 服务器带宽不足:升级服务器带宽
- 客户端未使用中继服务器:确保客户端同时填写了ID服务器和中继服务器
- 服务器距离远:选择离用户近的服务器位置
问题3:密钥不匹配
如果重装服务端后密钥变化,客户端需要更新Key:
- 获取新的公钥:
cat /opt/rustdesk/data/id_ed25519.pub - 在客户端网络设置中更新Key
- 重启客户端
运维管理
查看日志
# 查看hbbs日志
docker logs hbbs
# 查看hbbr日志
docker logs hbbr
# 实时查看日志
docker logs -f hbbs
更新镜像
cd /opt/rustdesk
docker compose pull
docker compose up -d
数据备份
# 备份数据目录
tar -czf rustdesk-backup-$(date +%Y%m%d).tar.gz /opt/rustdesk/data/
总结
Docker部署RustDesk服务端是最简单的自建方案——整个部署过程不超过15分钟。关键是正确开放所有端口(特别是UDP 21116)和获取公钥。部署完成后,你将拥有一个完全自主可控的远程桌面基础设施,数据不经过任何第三方,隐私和速度都得到保障。
这篇教程有帮助吗?立即下载RustDesk 中文网试试吧!
全平台支持 · 安全无毒 · 官方最新版