RustDesk 自建远程桌面服务器:Docker 部署替代 TeamViewer

1430 字
7 分钟
RustDesk 自建远程桌面服务器:Docker 部署替代 TeamViewer

痛点:TeamViewer 越来越难用了#

做远程支持、运维服务器、帮家里人修电脑,手边总得有个远程桌面工具。但最近的体验越来越糟:

  • TeamViewer — 商业检测越来越狠,动不动就弹窗「疑似商业用途」,断你连接
  • AnyDesk — 被收购后免费版限制增多,连接质量下降
  • 向日葵 — 免费版限速限功能,国内还要实名
  • Chrome Remote Desktop — 必须登录 Google 账号,没账号的人用不了

有没有一个方案:自己搭服务器、数据自己控制、不限设备数、不限连接时长

RustDesk 就是答案。

RustDesk 是什么?#

RustDesk 是一个用 Rust 编写的开源远程桌面软件,代码在 GitHub 上完全开源,支持自建中继服务器。

核心指标:

指标数据
⭐ GitHub Stars118k
🦀 语言Rust(99%)
📦 最新版v1.3.8(2026-06 活跃开发中)
📄 许可证AGPL-3.0
🐳 Docker 镜像rustdesk/rustdesk-server
💻 支持平台Windows / macOS / Linux / Android / iOS / Web

架构原理:

RustDesk 自建服务器由两个组件组成:

组件端口作用
hbbs21115-21117ID/Rendezvous 服务器,注册与发现
hbbr21117-21119Relay 中继服务器,转发 P2P 失败时的流量

连接流程:hbbs 负责设备发现(ID 注册、配对),hbbr 负责 P2P 打洞失败时的流量中继。两台设备直连成功就不走 hbbr。

RustDesk vs 其他远程桌面#

特性RustDesk(自建)TeamViewerAnyDesk向日葵
费用完全免费 🏆¥300+/月¥200+/月¥100+/月
数据自控自建服务器 🏆❌ 第三方❌ 第三方❌ 第三方
设备数限制❌ 无限✅ 有限✅ 有限✅ 有限
P2P 直连✅ 自动尝试❌ 强制走中继
移动端 App✅ Android/iOS
文件传输
剪贴板共享
开源✅ GPL-3.0❌ 部分

一句话: 想免费、不限设备、数据自己控制 → RustDesk 自建服务器。

Docker 部署 RustDesk 服务器#

方案一:快速部署(docker compose)#

docker-compose.yml
version: "3.8"
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
command: hbbs
ports:
- "21115:21115" # NAT 类型测试
- "21116:21116" # ID 注册(TCP+UDP)
- "21116:21116/udp"
- "21117:21117" # 中继连接
volumes:
- ./data:/root # 持久化密钥和配置
environment:
- RELAY_SERVER=your-server-ip # 填写你的服务器 IP 或域名
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
command: hbbr
ports:
- "21117:21117"
- "21119:21119" # Web 控制台(v1.3+)
volumes:
- ./data:/root
depends_on:
- hbbs
restart: unless-stopped

启动:

Terminal window
docker compose up -d

方案二:一行命令快速启动#

Terminal window
# hbbs(ID 服务器)
docker run -d --name rustdesk-hbbs \
--restart unless-stopped \
-p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21117:21117 \
-v $(pwd)/data:/root \
-e RELAY_SERVER=你的IP或域名 \
rustdesk/rustdesk-server:latest hbbs
# hbbr(中继服务器)
docker run -d --name rustdesk-hbbr \
--restart unless-stopped \
-p 21117:21117 -p 21119:21119 \
-v $(pwd)/data:/root \
rustdesk/rustdesk-server:latest hbbr

配置客户端连接#

服务器启动后,首次运行会生成密钥文件,查看密钥:

Terminal window
cat data/id_ed25519.pub

然后在 RustDesk 客户端中设置:

设置项填写内容
ID 服务器你的服务器IP:21116
中继服务器你的服务器IP:21117(留空则使用 ID 服务器同一地址)
Keyid_ed25519.pub 复制的公钥

在客户端设置 → 网络 → ID/中继服务器,填入以上信息后点应用。

安全加固#

1. 使用防火墙限制端口#

Terminal window
# 只开放必要的端口
ufw allow 21115/tcp
ufw allow 21116/tcp
ufw allow 21116/udp
ufw allow 21117/tcp
# 可选:Web 控制台
ufw allow 21119/tcp

2. 配置白名单#

data/id_ed25519.pub 同一目录下创建 whitelist 文件:

# 只允许这些 ID 连接
123456789
987654321

3. 使用 Nginx 反代 Web 控制台(v1.3+)#

server {
listen 443 ssl;
server_name rustdesk.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:21119;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
}
}

性能调优#

1. 限制带宽#

RustDesk 连接设置中可限制最大带宽,避免占满上行:

  • 客户端 → 设置 → 显示 → 限制帧率(建议 15-30fps)
  • 客户端 → 设置 → 网络 → 限制带宽

2. 选择编码方式#

编码带宽占用画质适用场景
H.264大多数场景,默认推荐
H.265更低更高4K 屏幕,CPU 需支持
VP8兼容性最佳
RGB极高无损局域网内高要求场景

3. 启用硬件编码#

客户端 → 设置 → 显示 → 硬件编码(开启后可大幅降低 CPU 占用)

FAQ#

Q:自建服务器需要多大配置?

A:极低。1 核 512MB 内存就能跑,一个服务器可以支持几十个设备同时在线。

Q:两台设备在不同内网,能 P2P 直连吗?

A:RustDesk 会自动尝试 UDP 打洞。如果打洞成功,流量不经过你的中继服务器(延迟最低)。只有打洞失败时,才走 hbbr 中继。

Q:公钥丢了怎么办?

A:停止容器,删除 data/id_ed25519data/id_ed25519.pub,重启容器会重新生成。但所有客户端需要更新 Key。

Q:可以用域名而不是 IP 吗?

A:可以。客户端 ID 服务器填 your-domain.com:21116,中继服务器填 your-domain.com:21117

Q:RustDesk 安全吗?

A:端到端加密,使用 NaCl 加密库(Curve25519 + XSalsa20-Poly1305)。自建服务器后,连 RustDesk 官方也无法窥探你的连接。

Q:支持文件传输吗?

A:支持。连接后直接在 RustDesk 窗口右键或使用工具栏的文件传输功能,支持拖拽。

总结#

RustDesk 是远程桌面领域的开源黑马:

  1. 完全免费——自建服务器,无设备限制,无时长限制
  2. 数据自控——所有通信经过你的服务器,数据不经过第三方
  3. 极低配置——1 核 512MB 就能带起几十个设备
  4. 跨平台——Windows/macOS/Linux/Android/iOS 全支持
  5. Docker 一行部署——创建两个容器,配置客户端,搞定

告别 TeamViewer 的商业检测和价格屠刀,拥抱 RustDesk 自建方案——远程运维、帮人修电脑、管理多台服务器,一套搞定。


本文由小啪撰写,基于 RustDesk v1.3.8。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
RustDesk 自建远程桌面服务器:Docker 部署替代 TeamViewer
https://www.kshare.top/posts/2026-rustdesk-自建远程桌面服务器docker部署替代-teamviewer/
作者
Kshare
发布于
2026-07-04
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Kshare
Hello, I'm Kshare.
公告
站点已开启广告(类型:弹窗广告),给您带来的不便敬请谅解。如有更好的广告建议,欢迎发送邮件至 t9uzrz6u@anonaddy.me,感谢您的支持!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
187
分类
9
标签
190
总字数
490,175
运行时长
0
最后活动
0 天前

文章目录