RustDesk服务端Docker部署指南:一键搭建私有远程控制中继

立即下载RustDesk 中文下载站 全平台支持 · 官方最新版

RustDesk服务端Docker部署指南:一键搭建私有远程控制中继

RustDesk 不仅提供免费的中继服务,还支持用户自建服务端。通过 Docker 部署 RustDesk 服务端,你可以拥有完全私有的远程控制基础设施,数据不再经过第三方服务器。本文将手把手教你完成部署。

一、RustDesk 服务端组件说明

RustDesk 服务端由两个核心组件组成:

组件 名称 作用
hbbs RustDesk ID 注册服务器 负责设备注册、ID 解析、Relay 地址下发
hbbr RustDesk 中继服务器 负责设备之间的数据中转

当两台设备无法直接 P2P 连接时,流量会通过 hbbr 中继;ID 注册和解析则由 hbbs 负责。

二、部署前准备

1. 准备一台服务器

你需要一台具有公网 IP 的服务器,推荐配置:

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. 在客户端设置服务器

  1. 打开 RustDesk 客户端。
  2. 点击右上角设置图标。
  3. 找到「网络」或「ID/中继服务器」设置。
  4. 填写以下信息:
    • ID 服务器:你的服务器 IP 或域名:21116
    • 中继服务器:你的服务器 IP 或域名:21117
    • Key:刚才复制的公钥内容
  5. 点击「应用」或「确定」。

配置完成后,客户端会通过自建服务器进行注册和中继。

五、使用域名和 HTTPS(可选)

为了提升安全性和易用性,建议为服务器绑定域名,并配置反向代理。

绑定域名

  1. 在 DNS 服务商处添加 A 记录,指向服务器 IP。
  2. 等待 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 中文下载站试试吧!

全平台支持 · 安全无毒 · 官方最新版