### [雨云搭建 RustDesk 自建中继远程桌面](https://www.jiyueip.com/article/12243) **Published:** 2026-07-28T09:17:08 **Author:** 斑斓助理 **Excerpt:** 用雨云 KVM 云服务器 Docker 自建 RustDesk 中继(hbbs/hbbr),摆脱官方公共服务器限速、连接数据只过自己机器。含端口放行、Key 配置与优惠码 admin01 五折,适合异地远程协助。 远程控制家里的电脑帮父母修个软件、在外临时调一下公司工位上的程序、或者平板连上宿舍那台台式机跑点东西——这些场景你八成都遇到过。TeamViewer 越来越爱弹“商业用途”警告,向日葵免费版高峰期卡成幻灯片。RustDesk 是开源免费的远程桌面工具,最关键的是它支持**自建中继服务器(hbbs/hbbr)**:把中转节点放在自己的云服务器上,速度不依赖官方公共服务器,连接数据也只经过你自己的机器,隐私更放心。本文用一台雨云 KVM 云服务器,Docker 一把梭把中继搭起来,每一步命令都能直接抄。 ## 一、先准备一台雨云 KVM 云服务器 自建中继对配置要求不高,1 核 1G 都能跑,但中继要长期在线、带宽决定连接流畅度,所以挑一台网络稳、线路近的机器更省心。想低成本试水可以看一类国产高性价比云服务器,比如雨云:它家是 KVM 虚拟化的云服务器,Debian、Ubuntu 镜像任选,新用户用优惠码 **admin01** 享五折,入门版折后约 9 元/月,还支持 7 天无理由退款,拿来做中继试错成本很低。如果你还在挑机器,可以先看这篇 [VPS 怎么选不踩坑](https://www.jiyueip.com/article/12235) 把参数搞明白,再看 [新手买 VPS 先看这几个配置参数](https://www.jiyueip.com/article/12225) 决定配置。 我一般选 Debian 12 最小化镜像,干净、源全。系统装好后先按 [VPS 到手第一件事做什么](https://www.jiyueip.com/article/12226) 做基础安全(建普通用户、改 SSH 端口、开 ufw),本文默认你已经搞定。中继要开放的端口在第二步列清楚。 ## 二、RustDesk 中继用到哪些端口 RustDesk 的中继由两部分组成:**hbbs**(ID/注册服务器,负责设备握手与分配)和 **hbbr**(中继服务器,负责实际转发画面和键鼠数据)。它们需要以下端口: | 协议 | 端口 | 用途 | | --- | --- | --- | | TCP | 21115 | hbbs 供 NAT 类型测试 | | TCP | 21116 | hbbs 主要 TCP 端口 | | UDP | 21116 | hbbs 主要 UDP 端口(打洞用) | | TCP | 21117 | hbbr 中继端口 | | TCP | 21118 | 网页客户端(Web Client) | | TCP | 21119 | 网页客户端(Web Client) | 放行命令(ufw 已启用的情况下): ```bash ufw allow 21115:21119/tcp ufw allow 21116/udp ufw reload ``` 如果你的云厂商还有“安全组”,记得在控制台同样放行这一批端口,否则外面连不进来。 ## 三、用 Docker 一键拉起 hbbs + hbbr 先装 Docker(Debian 12 推荐用官方脚本,避免源里版本旧): ```bash curl -fsSL https://get.docker.com | sh systemctl enable --now docker ``` 建一个工作目录,把数据持久化到 volume,否则容器重建后设备 ID 和密钥就丢了: ```bash mkdir -p /opt/rustdesk && cd /opt/rustdesk ``` 写一份 `docker-compose.yml`: ```yaml version: "3" services: hbbs: image: rustdesk/rustdesk-server:latest container_name: hbbs command: hbbs ports: - "21115:21115" - "21116:21116" - "21116:21116/udp" - "21118:21118" - "21119:21119" volumes: - ./data:/root restart: unless-stopped hbbr: image: rustdesk/rustdesk-server:latest container_name: hbbr command: hbbr ports: - "21117:21117" volumes: - ./data:/root restart: unless-stopped ``` 启动: ```bash docker compose up -d ``` `docker logs hbbs` 第一次启动会打印一对密钥(类似 `Key: xxxxxxxx`),**把这个 Key 抄下来**,客户端连中继时要填。它存在 `./data` 里,容器重建也不丢,但第一次就记好最省事。 ## 四、客户端填中继地址 在被控端和主控端的 RustDesk 里,点右上角“菜单 → 网络 ID/中继服务器”,填入: - **ID 服务器**:`你的服务器IP`(或域名)`:21116` - **中继服务器**:`你的服务器IP`/域名`:21117` - **Key**:刚才抄下的那串 填好后两台设备都显示“就绪”,互相用设备 ID 就能连了。手机端在设置里同样位置填,逻辑一模一样。 ## 五、踩过的坑与经验 - **Key 不匹配连不上**:客户端 Key 必须和 hbbs 启动时生成的完全一致。换过容器但 `./data` 没挂载会重新生成 Key,导致旧客户端失效——所以 volume 一定要挂上。 - **只放行部分端口会“能握手不能传画面”**:21116 是握手、21117 才是真正中继。只开 21116 会显示在线却黑屏,记得把第二节那一批全开。 - **UDP 21116 别漏**:打洞走 UDP,只开 TCP 在复杂网络下容易走服务器强制中转、变慢。 - **想用域名**:把域名 A 记录指向服务器 IP,客户端填域名即可,以后换机器只改 DNS,不用挨个改客户端。 - **中继也要做基础防护**:虽然 RustDesk 有 Key 鉴权,但别把 21115-21119 对全网任意 IP 长期暴露还用弱口令——配合 [VPS 安全配置实战](https://www.jiyueip.com/article/12227) 的思路做一层限制更稳妥。 ## 小结 自建 RustDesk 中继最大的好处就两点:连得稳(中转节点是你自己的,不挤官方公共服),数据只过自己机器(隐私可控)。配置本身不复杂,一份 docker-compose 加几个端口就完事,难点都在端口放行和 Key 对齐上。长期在线的中继推荐用雨云这种低价稳定的 KVM 机器——[优惠码 admin01 五折](https://www.jiyueip.com/link/5617)、7 天无理由退款,跑中继这类常驻小服务很合适。 > **合规提醒**:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于合法合规的远程协助、开发调试等用途,不得用于任何违法违规活动;远程控制他人设备须获得设备所有者明确授权。 **Tags:** 云服务器, 网站运维, 雨云, 雨云优惠码 **Categories:** 行业洞察 ---