【远程控制】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

确保 hbbs 和 hbbr 容器都在运行。


二、防火墙 & 端口映射

确保服务器外网可访问:

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

相关推荐
牛马工作号2 小时前
Mosquitto + ACME:从 Docker Compose 部署到 TLS 证书自动续期与加载
运维·docker·容器
空空dream8 小时前
03 | 离线部署 FastAPI + Ollama(qwen2:0.5b):从 Docker 联调到 Kubernetes 验收
docker·ai·kubernetes·fastapi
郭老二12 小时前
【docker】docker compose使用,已nginx为例
nginx·docker·容器
a59865213 小时前
Docker云手机端口不通,无法访问|六边云手机教你故障排查完整流程
docker·容器·性能优化·云手机
杰克尼14 小时前
Kubernetes
云原生·容器·kubernetes
李少兄14 小时前
Windows 11 环境下 BAT 脚本无法执行的排查与修复指南
windows
解道Jdon14 小时前
FigCraft把Figma用Rust从零重写了一遍
ide·windows·git·svn·eclipse·github·visual studio
ab12376814 小时前
Docker Compose 完整详解
运维·docker·容器
吴声子夜歌15 小时前
Docker入门与实战——容器实战思考
docker·容器
江湖有缘15 小时前
Docker实战 | 使用Docker部署Foxel私有云盘服务
docker·容器·eureka