RustDesk服务端Docker部署指南:一键搭建私有远程控制中继
RustDesk服务端Docker部署指南:一键搭建私有远程控制中继
RustDesk 不仅提供免费的中继服务,还支持用户自建服务端。通过 Docker 部署 RustDesk 服务端,你可以拥有完全私有的远程控制基础设施,数据不再经过第三方服务器。本文将手把手教你完成部署。
一、RustDesk 服务端组件说明
RustDesk 服务端由两个核心组件组成:
| 组件 | 名称 | 作用 |
|---|---|---|
| hbbs | RustDesk ID 注册服务器 | 负责设备注册、ID 解析、Relay 地址下发 |
| hbbr | RustDesk 中继服务器 | 负责设备之间的数据中转 |
当两台设备无法直接 P2P 连接时,流量会通过 hbbr 中继;ID 注册和解析则由 hbbs 负责。
二、部署前准备
1. 准备一台服务器
你需要一台具有公网 IP 的服务器,推荐配置:
- CPU:1 核及以上
- 内存:1GB 及以上
- 带宽:根据实际使用场景,建议 5Mbps 以上
- 系统:Ubuntu 20.04/22.04、Debian、CentOS 等
2. 安装 Docker 和 Docker Compose
如果尚未安装,执行以下命令:
# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
sudo systemctl enable docker
sudo systemctl start docker
# 安装 Docker Compose
sudo apt install docker-compose-plugin
3. 开放端口
RustDesk 服务端需要以下端口:
| 端口 | 用途 |
|---|---|
| 21115 | hbbs TCP 端口 |
| 21116 | hbbs TCP/UDP 端口 |
| 21117 | hbbr TCP 端口 |
| 21118/21119 | Web 客户端端口(可选) |
请在服务器安全组或防火墙中放行上述端口。
三、使用 Docker Compose 部署
1. 创建工作目录
mkdir -p ~/rustdesk-server
cd ~/rustdesk-server
2. 创建 docker-compose.yml
version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
command: hbbs
volumes:
- ./data:/root
network_mode: host
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
command: hbbr
volumes:
- ./data:/root
network_mode: host
restart: unless-stopped
depends_on:
- hbbs
3. 启动服务
docker compose up -d
启动后,会在 ./data 目录下生成密钥文件 id_ed25519.pub,这是客户端连接服务端时需要配置的公钥。
4. 查看日志
docker logs -f rustdesk-hbbs
docker logs -f rustdesk-hbbr
四、客户端配置自建服务器
部署完成后,需要在 RustDesk 客户端中填入服务器信息。
1. 获取服务器公钥
cat ~/rustdesk-server/data/id_ed25519.pub
复制输出的公钥内容。
2. 在客户端设置服务器
- 打开 RustDesk 客户端。
- 点击右上角设置图标。
- 找到「网络」或「ID/中继服务器」设置。
- 填写以下信息:
- ID 服务器:你的服务器 IP 或域名:21116
- 中继服务器:你的服务器 IP 或域名:21117
- Key:刚才复制的公钥内容
- 点击「应用」或「确定」。
配置完成后,客户端会通过自建服务器进行注册和中继。
五、使用域名和 HTTPS(可选)
为了提升安全性和易用性,建议为服务器绑定域名,并配置反向代理。
绑定域名
- 在 DNS 服务商处添加 A 记录,指向服务器 IP。
- 等待 DNS 生效后,客户端配置中使用域名替代 IP。
配置 Nginx 反向代理(Web 客户端)
如果需要使用 RustDesk Web 客户端,可以通过 Nginx 代理 21118/21119 端口。
server {
listen 443 ssl;
server_name rustdesk.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:21118;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
六、日常维护
更新服务端
cd ~/rustdesk-server
docker compose pull
docker compose up -d
备份数据
./data 目录包含了密钥和注册信息,建议定期备份:
tar czvf rustdesk-backup-$(date +%Y%m%d).tar.gz ~/rustdesk-server/data
查看连接状态
通过日志可以查看当前在线设备和连接情况:
docker logs rustdesk-hbbs | tail -n 100
七、常见问题
Q1:客户端显示「无法连接到中继服务器」?
A:检查服务器防火墙是否放行 21117 端口,以及客户端配置的中继服务器地址是否正确。
Q2:为什么一定要配置 Key?
A:Key 是服务端的公钥,用于客户端验证服务器身份,防止中间人攻击。
Q3:自建服务端后,官方中继还能用吗?
A:可以。如果自建服务器不可用,客户端会回退到官方中继,除非你禁用了官方服务器。
总结
通过 Docker 自建 RustDesk 服务端,你可以获得完全自主可控的远程控制解决方案。虽然需要一定的服务器基础知识,但部署过程并不复杂。对于注重隐私、有固定远程办公需求的用户来说,这是一项非常值得投入的配置。
这篇教程有帮助吗?立即下载RustDesk 中文下载站试试吧!
全平台支持 · 安全无毒 · 官方最新版