【远程控制】RustDesk 自建服务端完整方案(Docker + Windows 客户端)

RustDesk 自建服务端完整方案(Docker + Windows 客户端)

一、Docker Compose 部署服务端

在 Linux 服务器上创建目录:

bash 复制代码
mkdir -p ~/rustdesk-server
cd ~/rustdesk-server

创建 docker-compose.yml

yaml 复制代码
version: "3.8"

services:
  # Broker 服务(注册 / ID 服务器)
  hbbs:
    image: rustdesk/rustdesk-server:latest
    container_name: hbbs
    restart: unless-stopped
    ports:
      - "21115:21115"       # Broker TCP
      - "21115:21115/udp"   # Broker UDP
    environment:
      - RUSTDESK_RELAY_HOST=hbbr   # 关联中继服务器

  # Relay 服务(数据中继 / 穿透)
  hbbr:
    image: rustdesk/rustdesk-server:latest
    container_name: hbbr
    restart: unless-stopped
    ports:
      - "21116:21116"       # Relay TCP
      - "21116:21116/udp"   # Relay UDP

# 可选挂载数据卷保存日志
# volumes:
#   - ./data/hbbs:/data
#   - ./data/hbbr:/data

启动服务

bash 复制代码
docker-compose up -d

检查服务状态

bash 复制代码
docker ps

确保 hbbshbbr 容器都在运行。


二、防火墙 & 端口映射

确保服务器外网可访问:

bash 复制代码
# Ubuntu / Debian 示例
sudo ufw allow 21115/tcp
sudo ufw allow 21115/udp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw reload

如果服务器在路由器内网,请在路由器上将外网端口映射到服务器的 21115/21116。


三、Windows 客户端配置

  1. 下载 RustDesk Windows 客户端

  2. 打开客户端 → 设置 → 中继 / ID 服务器

    填入你的自建服务器 IP(假设公网 IP 为 1.2.3.4):

    • ID / 中继服务器 : 1.2.3.4:21115
    • 中继服务器 : 1.2.3.4:21116
  3. 保存设置 → 客户端自动通过自建服务端注册 ID。

若无法穿透,客户端可以强制使用中继服务器(Relay TCP)以保证连接。


四、可选 TLS / HTTPS 优化(推荐公网安全)

可以用 Nginx 作为反向代理,增加 TLS:

Nginx 配置示例

nginx 复制代码
server {
    listen 443 ssl;
    server_name rustdesk.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/rustdesk.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/rustdesk.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:21115;  # Broker
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location /relay {
        proxy_pass http://127.0.0.1:21116;  # Relay
    }
}

使用 TLS 可保证公网访问安全,防止数据被劫持。


五、测试连接

  1. 启动两台 Windows 客户端。

  2. 使用自建 ID 连接远程设备。

  3. 确认远程桌面可正常访问。

  4. 若穿透失败:

    • 确认 UDP/TCP 端口开放
    • 确认客户端设置为使用中继服务器

总结

  • Docker Compose 一条命令即可启动 RustDesk 服务端。
  • Windows 客户端只需配置 ID/Relay IP 和端口。
  • 公网访问需放行 21115/21116 端口,建议使用 TLS 代理。
  • 可选数据卷挂载日志或配置,实现持久化。

相关推荐
OliverH-yishuihan25 分钟前
开发linux项目-在 Windows 上 基于“适用于 Linux 的 Windows 子系统(WSL)”
linux·c++·windows
yBmZlQzJ43 分钟前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节
DeepHacking1 小时前
Overleaf 本地Docker部署
运维·docker·容器
好好生活_2 小时前
【Docker基础学习】从VM虚拟机到Docker
运维·docker
孤岛悬城2 小时前
46 Docker资源管理
docker·容器·云计算
cab53 小时前
如何解决由于 Docker 的大日志文件导致磁盘空间不足的问题
docker
天河归来3 小时前
本地windows环境升级dify到1.11.1版本
java·spring boot·docker
么么...5 小时前
在 Ubuntu 上安装 Docker 并部署 MySQL 容器
linux·运维·经验分享·笔记·mysql·ubuntu·docker
a程序小傲5 小时前
阿里Java面试被问:.Java 8中Stream API的常用操作和性能考量
开发语言·windows·python
学Linux的语莫5 小时前
kompose、docker转k8s
docker·容器·kubernetes