类别: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. 客户端配置
下载客户端:RustDesk 官方客户端。
配置服务器地址:
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
测试连接:两台设备使用相同服务器配置,尝试远程控制。
常见问题
客户端无法连接:
检查服务器端口是否开放(
telnet your-ip 21115
)。确保客户端和服务器的
key.txt
一致。性能问题:
中继服务器流量较高时,建议部署在带宽充足的服务器上。
数据持久化:
务必挂载
/root
目录,否则重启后密钥会变化。
通过以上步骤,你可以完全掌控自己的远程桌面服务器,避免依赖第三方服务。如果需要更高级的功能(如用户管理),可以进一步研究 RustDesk 的 REST API(端口 21119
)。