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

相关推荐
蝎子莱莱爱打怪6 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
小p1 天前
docker学习7:docker 容器的通信方式
docker
小p1 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p1 天前
docker学习3:docker是怎么实现的?
docker
小p3 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p3 天前
docker学习: 1. docker基本使用
docker
埃博拉酱4 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
唐宋元明清21884 天前
.NET 本地Db数据库-技术方案选型
windows·c#