🧱 一、环境准备
服务器要求
-
Debian / Ubuntu(推荐)
-
1 核 1G 起步
-
有公网 IP
-
开放端口权限
安装 Docker
apt update
apt install -y docker.io docker-compose-plugin
systemctl enable docker
systemctl start docker
确认:
docker --version
🌍 二、解决 Docker Hub 超时问题(关键)
如果你之前报错:
registry-1.docker.io timeout
不要再用 docker.io 镜像。
我们直接用 GitHub 镜像源。
📦 三、部署 RustDesk 服务器(最终稳定版)
1️⃣ 创建目录
mkdir -p /opt/rustdesk
cd /opt/rustdesk
2️⃣ 创建 docker-compose.yml
nano docker-compose.yml
写入:
services:
hbbs:
container_name: hbbs
image: ghcr.io/rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: ghcr.io/rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
⚠️ 注意:
-
一定是
ghcr.io -
一定是
network_mode: host
3️⃣ 启动
docker compose up -d
(旧系统用 docker-compose)
🔐 四、开放端口
必须开放:
| 端口 | 协议 |
|---|---|
| 21116 | TCP + UDP |
| 21117 | TCP |
| 21115 | TCP |
| 21118 | TCP |
| 21119 | TCP |
如果用 ufw:
ufw allow 21115:21119/tcp
ufw allow 21116/udp
云服务器记得放行安全组。
🔑 五、获取服务器 Key
启动成功后执行:
cat /opt/rustdesk/data/id_ed25519.pub
会得到类似:
1DAO1V3URlSKmZVdMfLQow6NH+wYKSJI2OuJAQYypHs=
这个非常重要。
🖥 六、客户端设置(必须正确)
打开 RustDesk → 设置 → 网络
填写:
| 项目 | 填写内容 |
|---|---|
| ID Server | 服务器IP:21116 |
| Relay Server | 服务器IP:21117 |
| Key | 上一步获取的 key |
示例:
ID Server: 154.219.103.121:21116
Relay Server: 154.219.103.121:21117
Key: 1DAO1V3URlSKmZV...
然后:
✔ 完全退出客户端
✔ 重新打开
🔍 七、如何确认成功
服务器日志:
docker logs hbbs --tail=30
看到:
Listening on tcp/udp :21116
Start
客户端状态:
-
不再显示 “正在接入网络”
-
显示你的 ID
-
可以直连
🚨 八、常见问题汇总
❌ 一直“正在接入网络”
原因通常是:
-
UDP 21116 没开放
-
Key 填错
-
客户端版本太旧
-
没重启客户端
❌ Docker 拉不下来镜像
原因:
-
Docker Hub 超时
解决:
-
用 ghcr.io 镜像
-
或加 registry-mirrors
❌ 只能 Relay 不直连
-
NAT 不支持打洞
-
UDP 被拦截
-
服务器没放行 UDP
🎯 九、帧率优化建议
-
设置 → 高质量模式
-
开启硬件编码
-
确保是 Direct(UDP)连接
-
不要只走 Relay
🔥 十、完整架构理解
你现在部署的是:
客户端 ←→ hbbs (ID Server)
客户端 ←→ hbbr (Relay Server)
开源版:
-
不支持自定义 ID
-
不带管理后台
-
但连接数量无限制
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
