首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >拒绝限速与套路!手把手教你用 Docker 自建 RustDesk 远程桌面,彻底告别 ToDesk 和向日葵

拒绝限速与套路!手把手教你用 Docker 自建 RustDesk 远程桌面,彻底告别 ToDesk 和向日葵

作者头像
用户12547393
发布2026-06-24 20:57:33
发布2026-06-24 20:57:33
1K0
举报
RustDesk 远程控制封面
RustDesk 远程控制封面

[!NOTE] 很多需要远程办公或管理家里 NAS 的小伙伴最近都向老周吐槽:以前好用的商业远控软件,现在不仅限速严重,甚至还开始限制免费连接的设备数,各种充值套路让人防不胜防。今天老周手把手教大家用 Docker 一键部署 RustDesk 开源远控的中继服务器,结合国内低延迟云服务器,打造一套 100% 掌控、安全且不限速的专属远程桌面系统!本教程仅用于个人多设备互联与合规的远程办公场景。


亲爱的读者,欢迎回到 老周的AI进化实验室

在前面的几期里,我们聊了许多关于 Tailscale、NetBird 异地组网的实战方案。很多小伙伴给老周留言:“老周,组网确实解决了设备互联的问题,但我日常还需要直接远程控制家里或办公室电脑的桌面。以前用向日葵或 ToDesk,最近动不动就提示‘连接数超限’或者‘降速至 100KB/s’,画面卡得像 PPT,这可怎么整?”

如果你也有同样的困扰,今天老周推荐的方案绝对是你的救星——自建 RustDesk 远程控制系统


⚖️ 为什么选择自建 RustDesk?

RustDesk 是一款风靡全球的开源远程桌面软件,它被誉为 TeamViewer 和 AnyDesk 的最佳开源替代品。它的核心优势非常明显:

  • 完全开源与自主掌控:客户端与服务端全部开源。由于所有连接的握手与中继节点都部署在您自己的服务器上,彻底避免了商业服务商的数据监听隐患。
  • 不限速、不限设备数:您的云主机带宽有多大,远程桌面的传输速度就有多快。不管是连 5 台还是 10 台电脑,全凭自己做主,没有任何收费套路。
  • 出色的 P2P “打洞”直连:RustDesk 内置了高效的 NAT 穿透机制。如果主控端与被控端处于较好的网络环境下,设备之间会建立 P2P 直接连接,流量甚至不经过服务器中转,延迟低至几毫秒!
  • 全平台支持:完美支持 Windows、macOS、Linux、Android、iOS,甚至可以通过网页端直接进行远控。

今天,老周就教大家如何利用一台国内的云主机(如阿里云北京、腾讯云上海),通过 Docker-compose 一键拉起属于您自己的 RustDesk 中继服务!


🛠️ 第一步:前期准备工作

为了保证远程连接的低延迟与高稳定性,我们需要准备:

  1. 一台国内云服务器:系统推荐使用 Ubuntu 22.04 或 Debian 12。配置不需要太高,对于个人或小团队,1核 1G 内存,2M 以上带宽的入门级云服务器就足够了。
  2. 放行防火墙端口: RustDesk 服务的运行需要使用以下端口,请登录您的云厂商控制台(如腾讯云安全组/阿里云安全组),放行以下端口的传入规则
    • TCP: 21115, 21116, 21117, 21118, 21119
    • UDP: 21116

📌 端口功能小科普(极客选看): * 21115:用于 hbbs 处理 NAT 类型测试。 * 21116:TCP 用于 hbbs 进行连接打洞协调;UDP 用于 hbbs 提供注册与心跳服务。 * 21117:用于 hbbr 进行数据中继转发(当 P2P 打洞失败时,流量走此通道)。 * 21118 / 21119:用于网页版客户端支持(Web 端口,若仅使用安装包客户端可不放行)。


🐋 第二步:使用 Docker-Compose 一键部署

在服务器上安装好 Docker 和 Docker Compose 后,我们开始部署:

1. 创建项目工作目录

代码语言:javascript
复制
mkdir-p/opt/rustdesk-server&&cd/opt/rustdesk-server 

2. 编写容器配置文件

新建 docker-compose.yml 文件:

代码语言:javascript
复制
nanodocker-compose.yml 

将以下配置粘贴进去。请务必将配置中 <您的国内云服务器公网IP> 替换为您云主机的实际公网 IP(例如 123.123.123.123

代码语言:javascript
复制
version:'3'services:# hbbs: ID 与握手服务,负责节点注册与 P2P 穿透协调hbbs:container_name:rustdesk-hbbsimage:rustdesk/rustdesk-server:latestcommand:hbbs -r <您的国内云服务器公网IP>:21117 -k _volumes:-./data:/rootnetwork_mode:hostrestart:unless-stoppeddepends_on:-hbbr# hbbr: 中继服务,负责在直连失败时转发远程桌面数据hbbr:container_name:rustdesk-hbbrimage:rustdesk/rustdesk-server:latestcommand:hbbr -k _volumes:-./data:/rootnetwork_mode:hostrestart:unless-stopped

🔑 核心参数解析: * -r <公网IP>:21117:告诉 hbbs 握手服务器,如果两端打洞直连失败,应该指引它们去连接运行在 21117 端口上的 hbbr 中继服务器。 * -k _这是安全防护的关键。该参数表示强制开启连接加密验证。启动后容器会自动生成一对公私钥,只有配置了正确 Key(公钥)的客户端才能连接我们的服务,防止他人蹭用您的带宽资源。 * network_mode: host:直接使用宿主机网络栈,避免了容器虚拟网卡的二次转发开销,延迟更低。

3. 启动 RustDesk 服务

在配置文件所在目录下运行命令启动容器:

代码语言:javascript
复制
dockercomposeup-d 

启动后,可以通过以下命令确认服务是否运行正常:

代码语言:javascript
复制
dockercomposeps 

🔑 第三步:获取客户端连接 Key (公钥)

由于我们开启了 -k _ 强制安全验证,我们需要从服务端拿到公钥,配置到我们的电脑和手机客户端中。

/opt/rustdesk-server/data 目录下,系统在首次运行后会自动生成几个证书文件。我们读取以 .pub 结尾的公钥文件:

代码语言:javascript
复制
cat./data/id_ed25519.pub 

屏幕上会输出一串类似于 o9hXJ1...kSu3sgiR9= 的随机字符,请完整复制这串字符,这就是我们连接私有服务的安全钥匙。


💻 第四步:客户端配置与体验测试

1. 配置电脑控制端与被控端

在主控电脑(如您的办公笔记本)和被控电脑(如家里的 NAS 或台式机)上,前往 RustDesk 官网下载对应的客户端并安装。

打开 RustDesk 客户端,按以下步骤配置:

  1. 在客户端界面上,点击您的 ID 右侧的 “三个点”菜单 -> 选择 “网络”(或旧版中的“ID/中继服务器”)。
  2. 在弹出的配置框中填入:
    • ID 服务器 (ID Server):填入您的云服务器公网 IP(如 123.123.123.123)。
    • 中继服务器 (Relay Server):填入您的云服务器公网 IP(如 123.123.123.123)。
    • API 服务器:留空即可。
    • Key:粘贴刚才在服务器上获取的那串 .pub 证书密钥
  3. 点击 “应用” / “确定”

配置完成后,观察客户端窗口的最下方,如果显示 “就绪 (Ready)”,且有一个绿色的状态灯,说明您的客户端已经成功连上了自建的专属控制通道!

RustDesk 客户端配置界面
RustDesk 客户端配置界面

(注:如果状态显示未就绪,请检查云服务器防火墙是否已放行对应的端口)


⚡ 性能调优与连线测试

配置好主/被控两端后,在主控端输入被控端的 ID,点击连接并输入访问密码,即可秒级接入桌面。

📌 如何验证是 P2P 直连还是中继?

连接成功后,在远程桌面窗口的顶部状态栏上,点击网络连接图标: * 显示 “Direct”:说明两端设备已经通过您的 hbbs 握手服务器成功实现了 NAT 打洞直连。此时传输带宽仅取决于两端网络的上/下行速度,延迟最低(通常是个位数),画质最高。 * 显示 “Relay”:说明由于对称型 NAT 防火墙较严格,打洞失败,流量正通过您云服务器上的 hbbr 中继进行转发。延迟高低取决于您到云主机的物理距离(通常国内云服务器也在 30ms 以内,非常丝滑)。

📌 极客调优:如何最大化 P2P 直连概率?

为了尽量走直连通道,避免消耗云服务器的带宽,建议: 1. 放行本地防火墙:在家里或被控机上,确保本地操作系统的防火墙没有拦截 UDP 通信。 2. 开启路由器 UPnP:在主路由器设置中开启 UPnP(通用即插即用),让客户端能自主向外网映射动态端口,这会极大地提高 NAT 打洞的成功率。


💡 老周总结

通过自建 RustDesk 握手和中继服务器,我们不仅打破了商业软件的连接数限制和限速套路,更把远程访问的安全控制权牢牢握在了自己手中。只要您的国内云服务器 IP 和端口正常放行,随时随地都能享受到延迟极低、画质丝滑的专属私有远控体验!

如果您在部署过程中遇到了任何网络端口不通或连接问题,欢迎在留言区给老周留言,我们一起探讨解决!


[!TIP] 觉得本期教程实用?别忘了点击“关注”老周的AI进化实验室,并把文章分享给身边同样饱受远控限速折扰的极客朋友们!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老周的AI进化实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ⚖️ 为什么选择自建 RustDesk?
  • 🛠️ 第一步:前期准备工作
  • 🐋 第二步:使用 Docker-Compose 一键部署
    • 1. 创建项目工作目录
    • 2. 编写容器配置文件
    • 3. 启动 RustDesk 服务
  • 🔑 第三步:获取客户端连接 Key (公钥)
  • 💻 第四步:客户端配置与体验测试
    • 1. 配置电脑控制端与被控端
  • ⚡ 性能调优与连线测试
    • 📌 如何验证是 P2P 直连还是中继?
    • 📌 极客调优:如何最大化 P2P 直连概率?
  • 💡 老周总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档