RustDesk 自建中继与账号服务全教程(含 API,支持 IPv6)

RustDesk 是目前最轻便、体验最佳的远程控制工具之一,尤其适合内网穿透、自建服务。
如果你家中已有 NAS 或服务器,建议搭建自用 RustDesk 中继和 API 服务,实现:

- 🚀 高速、低延迟远程控制
- 👤 登录账号权限管理
- 🌐 支持 IPv6 访问(只要双方都具备 IPv6)

以下是完整部署指南,包括 Docker Compose 配置与客户端设置方式。

服务端部署(带 API 账号功能)

💡**本配置基于 `lejianwen/rustdesk-server-s6` 镜像,已集成 API 服务,开箱即用。**

将以下内容保存为 docker-compose.yaml,并使用 docker compose up -d 启动

networks:
  rustdesk-net:
    external: false

services:
  rustdesk:
    image: lejianwen/rustdesk-server-s6:latest
    ports:
      - 21114:21114
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      - 21117:21117
      - 21118:21118
      - 21119:21119
    environment:
      - RELAY=你的域名或IP:21117
      - ENCRYPTED_ONLY=1
      - MUST_LOGIN=Y
      - TZ=Asia/Shanghai
      - RUSTDESK_API_RUSTDESK_ID_SERVER=你的域名或IP:21116
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=你的域名或IP:21117
      - RUSTDESK_API_RUSTDESK_API_SERVER=http://你的域名或IP:21114
      - RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub
      - RUSTDESK_API_JWT_KEY=自定义JWT密钥
    volumes:
      - /data/rustdesk/server:/data
      - /data/rustdesk/api:/app/data
    networks:
      - rustdesk-net
    restart: unless-stopped

✅ **说明:**

- 替换 `你的域名或IP` 为实际公网地址或已解析的 IPv6 域名
- `RUSTDESK_API_JWT_KEY` 可自定义任意字符串,用于客户端登录校验
- 默认挂载目录 `/data/rustdesk/`,首次运行会生成密钥文件和数据库

📌 **密钥文件在哪?**
启动后运行 `docker logs rustdesk` 查看 `id_ed25519.pub` 内容(客户端登录时需要)

客户端设置(Windows / Linux 均适用)

打开 RustDesk 客户端后,进入网络设置,填写以下信息:

1. **ID 服务器**:`你的域名或IP:21116`
2. **中继服务器**:`你的域名或IP:21117`
3. **API 服务器**:`http://你的域名或IP:21114`
4. **公钥(Key)**:从服务端日志中获取的 `id_ed25519.pub` 内容(完整粘贴)

> ⚠ 若未设置 API 服务,可以留空第 3、4 项,此时不能使用账号功能。

IPv6 实测说明

- 若你的公网环境支持 IPv6(如家用光纤分配了 IPv6 地址)
- 可将公网 IPv6 地址绑定至域名(AAAA 记录)
- 双方(客户端和服务器)只要都具备 IPv6,即可实现**无卡顿、清晰画质的远程桌面体验**

结语

RustDesk 自建方案简单、安全、免费,非常适合技术爱好者和小型团队。
结合本教程,你可以一键搭建带有账号权限控制的远程控制平台。