类别:Linux / 日期:2025-07-22 / 浏览:1141 / 评论:0

以下是使用 Docker 部署 RustDesk 服务器的详细步骤。RustDesk 是一款开源的远程桌面工具,类似 TeamViewer/向日葵,支持自建服务器以保障数据隐私。

1. 部署 RustDesk 中继服务器(Relay Server)

中继服务器用于协助 NAT 穿透失败时的流量转发。

1.1 使用官方镜像


docker run --name rustdesk-relay -d \
  -p 21117:21117 \
  -p 21116:21116 \
  -p 21116:21116/udp \
  -p 21118:21118 \
  -v ./data:/root \
  rustdesk/rustdesk-server-relay

1.2 参数说明

  • 21117:TCP 端口(用于客户端通信)。

  • 21116:TCP/UDP 端口(用于 NAT 穿透)。

  • 21118:TCP 端口(Web 管理后台,默认关闭需手动启用)。

  • -v ./data:/root:持久化数据到本地目录(避免重启后 ID 变化)。

2. 部署 RustDesk 信令服务器(HBBS)

信令服务器用于协调客户端连接(类似“中间人”)。

2.1 使用官方镜像


docker run --name rustdesk-hbbs -d \
  -p 21115:21115 \
  -p 21116:21116 \
  -p 21116:21116/udp \
  -p 21119:21119 \
  -v ./data:/root \
  rustdesk/rustdesk-server-s6

2.2 关键参数

  • 21115:TCP 端口(客户端默认连接端口)。

  • 21119:TCP 端口(REST API 端口,可选)。

  • 重要文件:容器内 /root 目录会生成:

    • id_ed25519(私钥)和 id_ed25519.pub(公钥)。

    • key.txt(加密密钥,客户端需配置)。

3. 客户端配置

  1. 下载客户端RustDesk 官方客户端

  2. 配置服务器地址

    • ID 服务器你的服务器IP:21116

    • 中继服务器你的服务器IP:21117

    • Key:从服务器 key.txt 中复制(需确保客户端和服务器的 Key 一致)。

    • 在客户端设置中填写:

4. 可选优化

4.1 使用 Docker Compose

创建 docker-compose.yml 文件:


version: '3'services:
  hbbs:
    image: rustdesk/rustdesk-server-s6    ports:
      - "21115:21115"
      - "21116:21116"
      - "21116:21116/udp"
      - "21119:21119"
    volumes:
      - ./data:/root    restart: unless-stopped  hbbr:
    image: rustdesk/rustdesk-server-relay    ports:
      - "21117:21117"
      - "21116:21116"
      - "21116:21116/udp"
      - "21118:21118"
    volumes:
      - ./data:/root    restart: unless-stopped

启动:


docker-compose up -d

4.2 防火墙配置

确保服务器防火墙放行以下端口:


ufw allow 21115:21119/tcp
ufw allow 21116/udp

4.3 域名 & HTTPS

  • 用 Nginx 反向代理 21119 端口,并配置 SSL 证书。

  • 客户端填写域名而非 IP(如 rustdesk.yourdomain.com:21116)。

5. 验证服务状态

  • 检查容器日志


    docker logs rustdesk-hbbsdocker logs rustdesk-relay
  • 测试连接:两台设备使用相同服务器配置,尝试远程控制。

常见问题

  1. 客户端无法连接

    • 检查服务器端口是否开放(telnet your-ip 21115)。

    • 确保客户端和服务器的 key.txt 一致。

  2. 性能问题

    • 中继服务器流量较高时,建议部署在带宽充足的服务器上。

  3. 数据持久化

    • 务必挂载 /root 目录,否则重启后密钥会变化。

通过以上步骤,你可以完全掌控自己的远程桌面服务器,避免依赖第三方服务。如果需要更高级的功能(如用户管理),可以进一步研究 RustDesk 的 REST API(端口 21119)。


打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章