【远程控制】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 代理。
  • 可选数据卷挂载日志或配置,实现持久化。

相关推荐
Suroy12 小时前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭13 小时前
运行你的第一个Docker容器
后端·docker·容器
宋均浩2 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵2 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1112 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽3 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康5 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
qq_369224338 天前
Windows全系通用!ntdll.dll文件丢失、报错、闪退问题的完整排查与修复教程
windows·dll·dll修复·dll丢失·dll错误
Alsn868 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875248 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant